Vous êtes sur la page 1sur 43

Recherche

et mise en place dun prototype de


DuraCloud avec OpenStack









Service NTICE DiSTIC - Universit de Genve


Ecole suprieure dinformatique de gestion (ESIG)
Fvrier-Juin 2013
Etudiant : Onur Halil Erdogan
Matre de stage : M. Jan Melichar
Conseillre pdagogique : Mme Atika Laribi

1
Version 1.0

Sommaire
1 Introduction ............................................................................................................................................ 7
1.1 Luniversit de Genve (UNIGE) ...................................................................................................... 7
2 Modifications apportes ......................................................................................................................... 8
3 Droulement du stage ............................................................................................................................ 8
3.1 Dcoupage en tapes ...................................................................................................................... 8
4 Prsentation des logiciels ....................................................................................................................... 9
4.1 Fedora Commons ............................................................................................................................. 9
V ERSION ...................................................................................................................................................... 9
INFORMATION .............................................................................................................................................. 9
P R-REQUIS ................................................................................................................................................. 9
4.2 OpenStack ........................................................................................................................................ 9
V ERSION .................................................................................................................................................... 10
M ODULES .................................................................................................................................................. 10
OpenStack Compute (Nova) ...................................................................................................... 10
OpenStack Imaging Service (Glance) ......................................................................................... 10
OpenStack Object Storage (Swift) .............................................................................................. 10
OpenStack Identity (Keystone) .................................................................................................. 10
OpenStack Dashboard (Horizon) ................................................................................................ 10
A RCHITECTURE D O PEN S TACK O BJECT S TORAGE ........................................................................................... 11
P R-REQUIS ............................................................................................................................................... 11
4.3 DuraCloud ...................................................................................................................................... 11
V ERSION .................................................................................................................................................... 12
M ODULES .................................................................................................................................................. 12
Duraboss .................................................................................................................................... 13
DurAdmin ................................................................................................................................... 13
DuraStore ................................................................................................................................... 13
DuraService ................................................................................................................................ 13
Architecture ...................................................................................................................................... 13
P R-requis ................................................................................................................................................ 13
S ERVICES et outils supplmentaires ......................................................................................................... 14
2
Version 1.0

Duplicate on Change ......................................................................................................................... 14


Image Server ..................................................................................................................................... 14
Media Streamer ................................................................................................................................ 14
Bit Integrity Checker ......................................................................................................................... 14
Bit Integrity Checker Tools ................................................................................................................ 14
DuraCloud Retrieval Tool .................................................................................................................. 14
DuraCloud Sync Tool ......................................................................................................................... 14
DuraCloud Chunker Tool ................................................................................................................... 14
DuraCloud Stitcher Tool .................................................................................................................... 14
DuraCloud Upload Tool ..................................................................................................................... 15
4.4 CloudSync ...................................................................................................................................... 15
V ERSION .................................................................................................................................................... 15
P R-requis ................................................................................................................................................ 15
F ONCTIONNEMENT ..................................................................................................................................... 15
5 Installation des logiciels ........................................................................................................................ 15
5.1 MySQL ............................................................................................................................................ 15
5.2 OpenStack ...................................................................................................................................... 16
5.2.1

Keystone ............................................................................................................................ 16

P AQUETS REQUIS ........................................................................................................................................ 16


C ONFIGURATION DE K EYSTONE .................................................................................................................... 16
C RATION D ES U TILISATEURS ....................................................................................................................... 16
C RATION D ES RLES .................................................................................................................................. 17
C RATION D ES TENANTS .............................................................................................................................. 17
D FINITION D ES RLES ................................................................................................................................ 18
C RATION D ES SERVICES ET LEURS POINTS D ACCS ........................................................................................ 19
5.2.2

Swift .................................................................................................................................. 20

P AQUETS-REQUIS ....................................................................................................................................... 20
C ONFIGURATION DU M EMCACHED ............................................................................................................... 20
C ONFIGURATION DU PROXY ......................................................................................................................... 21
C ONFIGURATION DES NUDS ...................................................................................................................... 22
5.2.3

Tester OpenStack .............................................................................................................. 25

E XEMPLE 1 STAT (SANS O BJET) .................................................................................................................... 25


3
Version 1.0

E XEMPLE 2 UPLOAD .................................................................................................................................... 26


E XEMPLE 3 POST ........................................................................................................................................ 26
E XEMPLE 4 STAT (AVEC O BJET) .................................................................................................................... 26
5.3 DuraCloud ...................................................................................................................................... 26
5.3.1

Modification de la version source de DuraCloud .............................................................. 27

5.3.2

Tomcat .............................................................................................................................. 27

5.3.3

Maven ............................................................................................................................... 28

5.3.4

ActiveMQ ........................................................................................................................... 28

5.3.5

Dploiement ...................................................................................................................... 28

5.3.6

OSGi (Open Services Gateway initiative) Container .......................................................... 29

5.3.7

Configuration de DuraCloud .............................................................................................. 29

5.4 CloudSync ...................................................................................................................................... 32


5.4.1

Utilisation .......................................................................................................................... 32

A JOUT DUN EMPLACEMENT S TORE ........................................................................................................ 33


D URAC LOUD - BASED .................................................................................................................................. 33
F EDORA C OMMONS BASED ....................................................................................................................... 33
5.5 Tests ............................................................................................................................................... 34
5.6 Alternative ..................................................................................................................................... 36
6 Problmes et solutions ......................................................................................................................... 36
6.1 Horizon Internal Error .............................................................................................................. 36
6.2 Swift There is no object-store endpoint on this auth server ................................................... 36
6.3 Problme avec IRODS lors de la compilation de DuraCloud avec Maven ...................................... 36
6.4 Erreur Cant find bundle for base name messages, locale fr_FR dans Tomcat ........................ 37
6.5 Erreur Cannot invoke tomcat manager ................................................................................... 37
6.6 Liaison entre DuraCloud et OpenStack Swift ................................................................................. 38
7 Echange de mail .................................................................................................................................... 39
7.1 Mardi 9 avril 2013 .......................................................................................................................... 39
7.2 Mardi 9 avril 2013 .......................................................................................................................... 39
7.3 Mercredi 17 avril 2013 ................................................................................................................... 40
7.4 Mercredi 17 avril 2013 ................................................................................................................... 40
7.5 Google Groupes ............................................................................................................................. 41
8 Planning ................................................................................................................................................ 41
4
Version 1.0

9 Webographie ........................................................................................................................................ 41
9.1 Openstack ...................................................................................................................................... 41
G NRAL ................................................................................................................................................... 41
INSTALLATION ............................................................................................................................................ 41
9.2 Duracloud ...................................................................................................................................... 42
G NRAL ................................................................................................................................................... 42
INSTALLATION ............................................................................................................................................ 42
G OOGLE GROUPS ....................................................................................................................................... 42
9.3 Amazon S3 (Simple Storage Service) ............................................................................................. 42
9.4 Azure .............................................................................................................................................. 42
9.5 SDSC ............................................................................................................................................... 42
9.6 IRODS ............................................................................................................................................. 42
9.7 HP Cloud ........................................................................................................................................ 42
9.8 Rackspace ...................................................................................................................................... 42
9.9 CyberDuck ...................................................................................................................................... 42
9.10 jClouds ......................................................................................................................................... 42
10 Annexe : Les informations de connexions .......................................................................................... 42
O PEN S TACK S WIFT ..................................................................................................................................... 42
D URAC LOUD .............................................................................................................................................. 43
F EDORA ..................................................................................................................................................... 43
C LOUD S YNC ............................................................................................................................................... 43
T OMCAT .................................................................................................................................................... 43

5
Version 1.0

Remerciements
Je tiens tout particulirement remercier M. Melichar et Mme Laribi de mavoir encadr durant
mon stage. Je remercie galement Olivier Jeannin pour laide prcieuse quil ma fournie. Je
remercie aussi toute lquipe du NTICE (Nouvelles Technologies de lInformation, de la
Communication et de lenseignement).
Ce stage ma beaucoup apport, sur le plan des connaissances, de lorganisation et la prise de
dcision pour certains problmes auxquels jai t confront.
Jai t ravi de pouvoir raliser mon stage luniversit de Genve.

6
Version 1.0

1 Introduction
1.1 Luniversit de Genve (UNIGE)
Fonde en 1559, lUniversit de Genve (UNIGE) est aujourdhui aprs Zurich la deuxime plus
grande universit de Suisse. Fleuron de la cit de Calvin, linstitution jouit dun rayonnement
international privilgi et cultive son ouverture au monde. LUNIGE se distingue par son patrimoine
intellectuel, un enseignement de qualit couvrant lessentiel des domaines des sciences, des arts et
des lettres ainsi que par une recherche de pointe. 1
Le service des Nouvelles Technologies de lInformation, de la Communication, et de lEnseignement
(NTICE) fait partie de la Division en charge du Systme et des Technologies de lInformation et de la
Communication (DiSTIC).
NTICE est centr sur quatre domaines principaux : le-learning, le data management, le portail, et les
environnements Web.
Il est dirig par M. Pierre-Yves BURGI et a pour mission de mettre en place les technologies nouvelles
au service de lenseignement et de la recherche lUNIGE.
Le stage que jeffectue intervient dans le domaine du ple Data Management du NTICE, qui est
sous la responsabilit de M. Jan MELICHAR. Il consiste la mise en place dun prototype de Cloud en
relation avec lArchive Ouverte UNIGE (http://archive-ouverte.unige.ch).
LArchive Ouverte UNIGE est une bibliothque numrique du patrimoine scientifique de lUniversit
de Genve. Elle a t cre afin de rcolter, conserver et rendre accessibles le plus largement
possible, les publications des enseignants et des chercheurs. Elle est base sur le logiciel Fedora
Commons qui est conu comme une application Web et opre en tant que service dans un serveur
dapplication Tomcat.
Le Cloud va permettre de dupliquer les informations de lArchive Ouverte UNIGE afin de pouvoir les
conserver sur une longue dure. Il devra tre bas sur DuraCloud et OpenStack. Plus prcisment, il
existe une application Web fournie par DuraSpace, CloudSync , qui permet deffectuer une
sauvegarde des dpts de Fedora Commons sur un systme de Cloud.


1
http://www.unige.ch/apropos/index.html
2

Bas sur Ubuntu Server 12.04 LTS 32 bits, avec 1024 Mo de mmoire vive et 8 Go de stockage virtuel.

Version 1.0

2 Modifications apportes
A la base, le Cloud devait tre bas sur OpenStack pour la gestion des objets, mais aprs des tests,
des recherches et des changes avec les dveloppeurs de DuraCloud nous avons conclu quOpenStack
ntait pas encore compatible avec DuraCloud mme si celui-ci fournit des connecteurs pour dautres
Cloud qui sont bass sur OpenStack.
Pour tester et voir le fonctionnement de DuraCloud, nous nous sommes orients sur
Amazon S3 (Simple Storage Service).
Donc, DuraCloud a t configur pour fonctionner avec Amazon S3.

3 Droulement du stage
Dans le cadre de mon stage, jai principalement effectu un travail de recherche sur OpenStack Swift,
DuraCloud, Fedora Commons et CloudSync pour mettre en place un Cloud pour larchivage du
patrimoine scientifique de lUniversit de Genve.
Jai russi mettre en place un prototype de Cloud avec DuraCloud, Amazon S3 et CloudSync qui
soccupe de la liaison entre DuraCloud et Fedora Commons ainsi que dune installation dOpenStack
avec les modules KeyStone et Swift.

3.1 Dcoupage en tapes


Premire tape

: Dcouverte du service ainsi que des personnes cls.

Deuxime tape

: Petit entretien propos de Fedora Commons avec M. MELICHAR.

Troisime tape

: Recherche prliminaire sur OpenStack et DuraCloud.

Quatrime tape

: Installation et configuration dune machine virtuelle sur Oracle VM


VirtualBox2.

Cinquime tape

: Recherche approfondie, installation et configuration dOpenStack et ses


diffrents modules.

Septime tape

: Rdaction du dossier dinitialisation.

Neuvime tape

: Validation de linstallation dOpenStack sur un serveur Ubuntu3 mit


disposition pour le projet.

Dixime tape

: Recherche approfondie, installation et configuration de DuraCloud et ses


diffrents composants.

Douzime tape

: Rdaction du rapport de stage.

Treizime tape

: Installation et configuration de Fedora Commons.

Bas sur Ubuntu Server 12.04 LTS 32 bits, avec 1024 Mo de mmoire vive et 8 Go de stockage virtuel.

Bas sur Ubuntu Server 12.04 LTS 32 bits, avec 3072 Mo de mmoire vive et 19.7 Go de stockage.

8
Version 1.0

Quatorzime tape : Installation et configuration de CloudSync.


Quinzime tape

: Test de la copie des objets de Fedora Commons vers DuraCloud et test de la


restauration des objets de DuraCloud vers Fedora Commons.

4 Prsentation des logiciels


4.1 Fedora Commons
Fedora (Flexible Extensible Digital Object Repository Architecture) est une application web open
source qui permet de grer des bibliothques numriques.

VERSION
Version installe 3.6.2
Emplacement dinstallation : /usr/local/fedora/

INFORMATION
Lors de linstallation de Fedora Commons il est indispensable dactiver lindex ressource qui est
dsactiv par dfaut. Sans lindex ressource activ CloudSync ne fonctionne pas.

PR-REQUIS
Le matriel minimal requis pour faire fonctionner Fedora Commons nest pas document.
Mais il est ncessaire dinstaller :
Java 7, le JDK dOracle est recommand.
Tomcat 6.x ou suprieur.
Maven 2.x ou suprieur.

Lors de linstallation de Fedora Commons, celui-ci propose lutilisation dune base de donne par
dfaut qui est McKoi cependant il est possible dutiliser dautres bases de donnes.

Derby
MySQL
Oracle
PostgreSQL
Microsoft SQL

4.2 OpenStack
OpenStack est un projet open source dont lobjectif est de permettre de crer et doffrir des services
de Cloud Computing.
Il possde une architecture modulaire qui comporte cinq composants. Les modules sont tous
indpendants les uns des autres sauf le module Horizon (tableau de bord) qui lui ncessite

9
Version 1.0

linstallation des modules Nova et Keystone. Il nest donc pas ncessaire dinstaller tous les modules
pour quOpenStack fonctionne tant quon ninstalle pas Horizon.
OpenStack, est crit en Python.

VERSION
Version installe 2012.2 (Folsom).
Emplacement dinstallation : /etc/swift
La version 2013.1 est disponible depuis le 4 avril 2013. Cette nouvelle version apporte
passablement de changement dans OpenStack notamment le passage la version 1.8.0 de Swift.
Une nouvelle version dOpenStack est prvue pour le mois doctobre 2013 mais il ny a aucun
dtail des nouveauts et changements qui seront implments.

MODULES

OpenStack Compute (Nova)

Ce module permet la gestion de machines virtuelles et dune architecture


redondante et volutive. Elle fournit une interface dadministration et lAPI
ncessaire lorchestration du Cloud.

OpenStack Imaging Service (Glance)

Ce module fournit les services de stockage et de distribution pour les images disques
de machines virtuelles. Il fournit galement une API compatible REST permettant
deffectuer des requtes dans une base MySQL pour rcuprer des informations sur
les images disques de machines virtuelles.

OpenStack Object Storage (Swift)

Ce module permet la cration despaces de stockage redondants. Il sagit dun


systme de fichiers mais est surtout conu pour le stockage long terme de gros
volumes. Il utilise une architecture distribue offrant plusieurs points daccs pour
viter les SPOF (Single Point Of Failure).

OpenStack Identity (Keystone)

Keystone centralise toutes les authentifications et autorisations ncessaires aux


multiples services d'OpenStack. Il peut aussi servir de catalogue de service. Keystone
s'appuie sur un SGBDR soit de type SQLite, MySQL ou PostgreSQL. Il utilise par dfaut
le port 35357.

OpenStack Dashboard (Horizon)

Horizon est un tableau de bord permettant la gestion du Cloud OpenStack via une
interface Web.

10
Version 1.0

ARCHITECTURE DOPENSTACK OBJECT STORAGE

PR-REQUIS
Le matriel minimal requis pour faire fonctionner OpenStack nest pas document.
Il est ncessaire dinstaller une base de donnes relationnelle pour le fonctionnement des
modules part OpenStack Storage (Swift).
Voici les diffrentes bases de donnes relationnelles compatibles :
MySQL
SQLite
PostgreSQL

4.3 DuraCloud
DuraCloud est un projet open source qui facilite lutilisation des services de cloud computing. Il est
ax pour fournir des services de prservation des bibliothques numriques duniversit ou dautres
organisations du patrimoine.
Le service sappuie sur le stockage dun fournisseur commercial ou non-commercial et superpose des
fonctionnalits daccs et des outils de gestion long terme.
Il est conu comme une application web tournant en tant que service dans un serveur dapplication
tel que Tomcat. Cest une application web part entire disponible sous la forme de quatre archives
.war . Ces quatre archives correspondent chacun un module de DuraCloud.

4

Source : http://docs.openstack.org/essex/openstack-compute/install/apt/content/example-object-storage-
installation-architecture.html


11
Version 1.0

DuraBoss
DurAdmin
DuraStore
DuraService

Actuellement DuraCloud nest pas directement fonctionnel avec OpenStack.


Cependant Rackspace, HP Cloud et SDSC sont bass sur OpenStack et fonctionnent avec DuraCloud.
DuraCloud, est crit en Java et dvelopp par DuraSpace.

VERSION
Version installe 2.3.0.
Une version 2.3.1 est disponible depuis le 23 mars 2013, cependant cette version corrige des bugs
lis Sync Tool, elle napporte pas de changement important.
Emplacement dinstallation : /usr/local/duracloud/

MODULES
Les 4 modules utilisent lAPI REST DuraCloud.

5

https://wiki.duraspace.org/display/DURACLOUD/DuraCloud+Architecture
12

Version 1.0

Duraboss

Ce module permet de la journalisation des vnements. Mais il est cependant


dconseill de lutiliser, il nest pas encore stable.

DurAdmin

DurAdmin offre une vue sur les informations disponibles dans DuraCloud.

DuraStore

Ce module permet de grer laccs et la gestion des ressources de stockage.

DuraService

DuraService permet le dploiement et la gestion des services au sein de DuraCloud.

Architecture

PR-requis
Le matriel minimal requis pour faire fonctionner DuraCloud nest pas document.
Mais il est ncessaire dinstaller :

Java 7, le JDK dOracle est recommand.


Maven 2.2.1 ou suprieur.
Tomcat 6.x ou suprieur.
ActiveMQ 5.7 ou suprieur.
13

Version 1.0

SERVICES et outils supplmentaires


DuraCloud fournit des services supplmentaires qui peuvent tre dployes depuis longlet service
de DuraCloud, mais il faut au pralable avoir mis les diffrents fichiers .zip des services dans le
rpertoire duracloud-2-3-0-service-repo se trouvant sur DuraCloud.
Je nai pas pu dployer et tester les services et outils supplmentaires disponibles, car leurs
intgrations dans la version de DuraCloud actuelle ne sont pas encore fonctionnelles.

Duplicate on Change

Permet la duplication des objets entre des espaces sur DuraCloud.

Image Server

Permet de visualiser les objets images qui sont disponibles sur DuraCloud.

Media Streamer

Permet le streaming dobjets vido ou daudio.

Bit Integrity Checker

Permet de vrifier que les objets sur DuraCloud ont conserv leur intgrit. Il a deux
modes de fonctionnement :

Vrification de lespace

Vrification dune liste dobjets

Bit Integrity Checker Tools

Permet la gnration de rapport dintgrit pour un espace, une liste dobjets et la


comparaison entre deux rapports dintgrit.

DuraCloud Retrieval Tool

Retrieval tool est un outil de rcupration qui sert transfrer du contenu


numrique partir de DuraCloud vers un systme de fichiers local.

DuraCloud Sync Tool

Sync Tool est un outil de synchronisation qui fournit un moyen de dplacement de contenu
numrique dun systme de fichiers local vers DuraCloud.

DuraCloud Chunker Tool

Chunker tool est un outil de copie de fichiers depuis un systme de fichiers local vers
DuraCloud.

DuraCloud Stitcher Tool

Loutil Stitcher fournit un moyen de rcuprer des fichiers fragments de DuraCloud.

14
Version 1.0

DuraCloud Upload Tool

Upload Tool est un utilitaire graphique qui permet de transfrer des fichiers dun
systme de fichiers local DuraCloud.

4.4 CloudSync
CloudSync est une solution de synchronisation de contenu numrique. Il facilite la copie de contenu
numrique depuis un dpt institutionnel comme lArchive Ouverte UNIGE vers un espace de
stockage. Il est conu comme une application web tournant sur un serveur tel que Tomcat sous forme
de service.
La copie et la restauration des objets se fait via la cration de tches depuis linterface web quil
fournit.
Cest une solution dveloppe par DuraSpace.

VERSION
Version installe 1.1.0.
Emplacement dinstallation : /usr/local/cloudsync/

PR-requis
Tomcat 6.x ou suprieur.
Index Ressource activ sur Fedora Commons
Avoir un espace avec le nom cloudsync sur DuraCloud

FONCTIONNEMENT
CloudSync fait la liaison entre Fedora Commons et DuraCloud, il soccupe de faire la copie ainsi que la
restauration des objets.
DuraCloud fournit des fonctionnalits supplmentaires pour la gestion du stockage.

Archive Ouverte
UNIGE
Fedora Commons

CloudSync

DuraCloud

Amazon S3
OpenStack

5 Installation des logiciels


Il est important de noter que les informations prsentes dans ce document concernant des adresses
IP, des ports, mot de passe et nom dutilisateur ne correspondent pas la ralit. Ils ont t changs
par mesure de scurit et de confidentialit.

5.1 MySQL
Cration de la base de donnes :
15
Version 1.0

mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES
'SQLPASSWD';

ON

keystone.*

TO

'keystone'@'%'

IDENTIFIED

BY

FLUSH PRIVILEGES;

5.2 OpenStack
5.2.1 Keystone

PAQUETS REQUIS
mysql-server

python-mysqldb

keystone

python-keystone

python-keystoneclient
sudo apt-get install mysql-server python-mysqldb keystone python-keystone
python-keystoneclien

CONFIGURATION DE KEYSTONE
Pour la configuration de Keystone, il faut ouvrir /etc/keystone/keystone.conf avec les droits
administrateurs.
sudo gedit /etc/keystone/keystone.conf

Il faut modifier le mot de passe administrateur et la connexion la base de donnes.

admin_token = ADMPASSWD

connection = mysql://keystone :ADMPASSWD@localhost:3306/keystone

Il est possible de modifier le port de connexion pour ladministrateur ainsi que le public et
dactiver ou dsactiver le log.
Par dfaut les ports de connexion pour ladministrateur et le public sont :

public_port = 5000

admin_port = 35357

CRATION DES UTILISATEURS


La ligne suivante est la commande pour la cration de lutilisateur admin :
keystone --token ADMPASSWD --endpoint http://localhost:35357/v2.0/ usercreate --name=admin --pass=ADMPASSWD --email=admin@example.com

16
Version 1.0

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

user-create est le type de commande.

--name contient le nom dutilisateur crer.

--pass contient le mot de lutilisateur crer.

--email contient le courriel de lutilisateur crer.

Il faut crer un utilisateur administrateur qui est obligatoire, et un utilisateur pour chaque
service qui va tre install, donc un deuxime utilisateur pour Swift.

CRATION DES RLES


La ligne suivante est la commande pour la cration du rle admin :
keystone --token ADMPASSWD --endpoint http://localhost:35357/v2.0/ rolecreate --name=admin

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

role-create est le type de commande.

--name contient le nom du rle crer.

Trois rles sont obligatoires, Admin , KeystoneAdmin et KeystoneServiceAdmin .


Il va falloir relancer deux fois la commande en remplaant admin par les deux autres rles
obligatoires qui sont KeystoneAdmin et KeystoneServiceAdmin.

CRATION DES TENANTS


Il faut crer au moins deux tenants, un pour ladministrateur admin et un autre pour les
services services .
La ligne suivante est la commande pour la cration du tenant admin :
keystone --token ADMPASSWD --endpoint http:// localhost :35357/v2.0/
tenant-create --name=admin

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

tenant-create est le type de commande.

--name contient le nom du tenant crer.

17
Version 1.0

Il faut relancer la commande en remplaant la valeur dfinie pour le --name


par services .
Les tenants vont nous permettre de faire une liaison entre le rle et lutilisateur.

DFINITION DES RLES


Pour la dfinition des rles il faut rcuprer les identifiants qui ont t gnrs lors de la
cration des utilisateurs, des rles et des tenants.
Il est possible de rcuprer les diffrents identifiants avec les commandes suivantes :
Pour les utilisateurs :
keystone --endpoint http://localhost:35357/v2.0 --token
list

ADMPASSWD user-

Pour les rles :


keystone --endpoint http://localhost:35357/v2.0 --token
list

ADMPASSWD role-

Pour les tenants :


keystone --endpoint http://localhost:35357/v2.0 --token
tenant-list

ADMPASSWD

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

user-list, role-list et tenant-list sont les type de commande.

Il faut dfinir au moins un tenant entre un rle et un utilisateur pour pouvoir utiliser le
systme dauthentification et dutilisation.
Commande pour la dfinition dun rle :
keystone --token ADMPASSWD --endpoint http://localhost:35357/v2.0/ userrole-add --ID_UTILISATEUR --ID_ROLE --ID_TENANT

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

user-role-add est le type de commande.

--ID_UTILISATEUR doit tre remplac lidentifiant de lutilisateur.

--ID_ROLE doit tre remplac lidentifiant du rle.

--ID_TENANT doit tre remplac lidentifiant du tenant.

Il faut dfinir les rles suivants avec les identifiants de lutilisateur, du rle et du tenant :

18
Version 1.0

1. Lutilisateur admin avec un rle KeystoneAdmin avec le tenant admin.


2. Lutilisateur admin avec un rle KeystoneServiceAdmin avec le tenant admin.
3. Lutilisateur swift avec un rle admin avec le tenant services .

CRATION DES SERVICES ET LEURS POINTS DACCS


Il va falloir crer un service pour Keystone et Swift ainsi que leurs points daccs.
Il est recommand de crer le service et ensuite le point daccs qui va avec, et de ne pas
crer tout les services dun coup et ensuite tous les points daccs.
La ligne suivante est la commande de cration du service Keystone :
keystone --token ADMPASSWD --endpoint http://localhost:35357/v2.0/
service-create --name=Keystone --type=Identity --description='Keystone
Identity Service'

--token est un paramtre ncessaire pour spcifier le mot de passe qui a t

dfini dans keystone.conf au point 1.1.2.

--endpoint est un paramtre qui dfinit le point le point daccs keystone.

Service-create est le type de commande.

--name contient le nom du service crer.

--type contient le type du service crer.

--description contient le type du service crer.

Pour le service Swift il faut remplacer la valeur de --name par Swift et la valeur de
--type par Object-Store puis adapter les informations du paramtre description, celle-ci ne
demande pas une information prdfinie.
Voici les noms et les types pour tous les services :
Nova
:
Glance :
Swift
:
Keystone :

Compute et Volume
Image
Object-Store
Identity

La ligne suivant est la commande de cration du point daccs pour Keystone :


keystone endpoint-create --region RegionOne
--service_id=ID_KEYSTONE_SERVICE
--publicurl='http:// localhost:35357/v2'
--internalurl='http:// localhost:35357/v2/'
--adminurl='http:// localhost:35357/v2'

endpoint-create est le type de commande.

--region contient la rgion qui regroupe les diffrents points daccs.

--service_id contient lidentifiant du service.

19
Version 1.0

--publicurl contient ladresse publique pour accder au service.

--internalurl contient ladresse interne pour accder au service.

--adminurl contient ladresse pour accder en tant quadministrateur au service.

Pour le point daccs de Keystone il est impratif de reprendre le port qui a t dfini dans le
fichier de configuration keystone.conf au point 1.1.2.
Cration du point daccs pour Swift :
keystone endpoint-create --region RegionOne
--service_id=ID_SWIFT_SERVICE
--publicurl='http:// localhost:9999/v1/AUTH_$(tenant_id)s'
--internalurl='http:// localhost:9999/v1/AUTH_$(tenant_id)s'
--adminurl='http:// localhost:9999

Le port daccs de Swift nest pas dfini, il suffit de mettre un port inutilis par le
serveur.
Il faut garder /v1/AUTH_$(tenant_id)s pour le publicurl et internalurl mais
lenlever pour l adminurl . Cette partie va nous permettre de distinguer les utilisateurs
entre eux.

5.2.2 Swift

PAQUETS-REQUIS

swift
swift-proxy
memcached
swift-account
swift-container
swift-object

sudo apt-get install swift swift-proxy memecached

CONFIGURATION DU M EMCACHED
Avant de commencer la configuration de Swift, il faut tout dabord configurer memcached
en ouvrant /etc/memcached.conf avec les droits administrateurs.
sudo gedit /etc/memcached.conf

Il faut rechercher la ligne qui correspond l localhost et ladapter en remplaant la


partie du localhost par ladresse IP du serveur dOpenStack.
Puis aprs redmarrer memcached avec la commande
sudo service memcached restart

20
Version 1.0

CONFIGURATION DU PROXY
Pour commencer la configuration de Swift, il faut tout dabord ouvrir /etc/swift/swift.conf
avec les droits administrateurs. Il est possible que ce fichier nexiste pas, il vous suffit de le
crer.
sudo gedit /etc/swift/swift.conf

Il va falloir ajouter les lignes suivantes :


[Swift-hash]
swift_hash_path_suffix = AAAABBBBBBCCCCCDDDDDEEEEEEE

Il est recommand de mettre une valeur alatoire pour le swift_hash_path_suffix mais


dans le cas ou il y a plusieurs htes il faudra veiller ce que le swift_hash_path_suffix
soit identique sur chaque hte pour que la communication entre eux puissent se faire.
La prochaine tape consiste crer le fichier de configuration du proxy de Swift
/etc/swift/proxy-server.conf les lments entre crochets sont remplacer par les
informations correspondantes.
[DEFAULT]
bind_ip =
bind_port =
swift_dir =
workers =
user =

[Adresse IP du serveur]
[Port dfinie dans Keystone]
[Emplacement du rpertoire swift]
[Nombres dutilisateurs en simultan]
[Nom du super utilisateur du server]

[pipeline:main]
pipeline = catch_errors healthcheck cache authtoken swiftauth proxyserver
[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true
set log_name = swift-proxy-server
set log_facility = LOG_LOCAL0
set log_level = DEBUG
set access_log_name = swift-proxy-server
set access_log_facility = LOG_LOCAL0
set access_log_level = DEBUG
set log_headers = True
[filter:healthcheck]
use = egg:swift#healthcheck
[filter:catch_errors]
use = egg:swift#catch_errors
[filter:cache]
use = egg:swift#memcache

21
Version 1.0

memcache_servers = [Adresse IP du serveur]:11211


set log_name = cache
[filter:swiftauth]
paste.filter_factory = keystone.middleware.swift_auth:filter_factory
operator_roles = admin
is_admin = true
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host =
[Adresse IP du serveur]
service_port = 5000

[Adresse IP du serveur]
[Port de Keystone]

auth_host =

auth_port =
auth_protocol = http

admin_tenant_name = [Nom du tenant dfinie dans Keystone]


admin_user =
admin_password =

[Nom dutilisateur dfinie dans Keystone pour Swift]


[Mot de passe dfinie dans Keystone pour Swift]

Ce fichier permet le fonctionnement conjoint entre le module Keystone dOpenStack et le


proxy de Swift.

CONFIGURATION DES NUDS


Tout dabord il faut crer lanneau, pour cela il faut se rendre dans /etc/swift/ puis
excuter :
swift-ring-builder object.builder create 18 3 1
swift-ring-builder container.builder create 18 3 1
swift-ring-builder account.builder create 18 3

Structure de la commande :
swift-ring-builder <builder_file> create <part_power> <replicas>
<min_part_hours>

Le paramtre <builder_file> spcifie lobjet avec lequel on va travailler.


o

Object est lobjet qui contient les informations relatives aux objets.

Container est lobjet qui contient les informations concernant les

Account est lobjet qui contient les informations qui sont lies aux comptes.

containers.

<part_power> correspond au nombre de partitions.

<replicas> permet de dfinir le nombre de rplications des objets voulues. Un

nombre lev de rplications augmente la scurit mais demande beaucoup de


ressources et despace. 3 est la valeur recommande (cest la seule valeur qui a
t teste).

<min_part_hours> est le temps en heures avant que la partition ne soit rplique.

22
Version 1.0

Aprs la cration de lanneau, il va falloir lui attribuer les diffrents serveurs ; les serveurs
sont appels des zones.
Dans le cadre de mon stage, jai simul 4 zones sur un seul serveur en crant 4 rpertoires
et en changeant les ports utiliss.
Pour complter la configuration de lanneau, il faut lui ajouter les serveurs.
Object
swift-ring-builder
swift-ring-builder
swift-ring-builder
swift-ring-builder

object.builder
object.builder
object.builder
object.builder

add
add
add
add

z1-localhost:6010/sdb1
z2-localhost:6020/sdb2
z3-localhost:6030/sdb3
z4-localhost:6040/sdb4

1
1
1
1

Container
swift-ring-builder
swift-ring-builder
swift-ring-builder
swift-ring-builder

container.builder
container.builder
container.builder
container.builder

add
add
add
add

z1-localhost:6011/sdb1
z2-localhost:6021/sdb2
z3-localhost:6031/sdb3
z4-localhost:6041/sdb4

1
1
1
1

Account
swift-ring-builder
swift-ring-builder
swift-ring-builder
swift-ring-builder

account.builder
account.builder
account.builder
account.builder

add
add
add
add

z1-localhost:6012/sdb1
z2-localhost:6022/sdb2
z3-localhost:6032/sdb3
z4-localhost:6042/sdb4

1
1
1
1

Structure de la commande :
swift-ring-builder <builder_file> add z<zone>-<ip>:<port>/<device_name>
<weight>

Le paramtre <builder_file> spcifie lobjet avec lequel on va travailler.

<zone> correspond au numro de la zone (serveur). Le minimum est 1 et le

<ip> est ladresse ip de la zone. Il faut mettre une adresse ip ; je lai dfinie en

<port> est le port utilis par la zone.

<device_name>

<weight> dtermine le nombre de partitions qui seront mises sur la zone.

maximum est le nombre de zones.


localhost dans le document par mesure de confidentialit.
dfinit lemplacement o seront dposs les objets (object,
container, account).

Une fois que tous les serveurs sont ajouts lanneau, il faut excuter :
swift-ring-builder object.builder rebalance
swift-ring-builder container.builder rebalance
swift-ring-builder account.builder rebalance

Cela va distribuer les partitions sur les serveurs qui sont dans lanneau. Il est important de
r-excuter cette commande chaque modification sur lanneau.
Ensuite il faut ouvrir /etc/swift/account-server.conf avec les droits administrateurs. Il est
possible que ce fichier nexiste pas ; il vous suffit alors de le crer.
23
Version 1.0

[DEFAULT]
bind_ip =
workers =

[Adresse IP du serveur]
[Nombres dutilisateurs en simultan]

[pipeline :main]
Pipline = recon account-server
[filter :recont]
Use = egg :swift#recon
Recon_cache_path = /var/cache/swift
[app :account-server]
use = egg :swift#account
[account-replicator]
[account-auditor]
[account-reaper]

Puis /etc/swift/object-server.conf avec les droits administrateurs. Il est possible que ce


fichier nexiste pas ; il vous suffit alors de le crer.
[DEFAULT]
bind_ip =
workers =

[Adresse IP du serveur]
[Nombres dutilisateurs en simultan]

[pipeline :main]
Pipline = recon object-server
[filter :recont]
Use = egg :swift#recon
Recon_cache_path = /var/cache/swift
[app :account-server]
use = egg :swift#object
[account-replicator]
[account-auditor]
[account-reaper]

Pour finir /etc/swift/container-server.conf avec les droits administrateurs. Il est possible


que ce fichier nexiste pas ; il vous suffit alors de le crer.
[DEFAULT]
bind_ip =
workers =

[Adresse IP du serveur]
[Nombres dutilisateurs en simultan]

[pipeline :main]
Pipline = recon container-server
[filter :recont]
Use = egg :swift#recon
Recon_cache_path = /var/cache/swift
[app :account-server]
use = egg :swift#container

24
Version 1.0

[account-replicator]
[account-auditor]
[account-reaper]

5.2.3 Tester OpenStack


Maintenant que la configuration dOpenStack est termine, pour le dmarrer, il faut
excuter :
swift-init main start
swift-init rest start

Il existe 5 types de commande :

Stat retourne les informations concernant lutilisateur. Nombres de containers,

dobjets, lespaces utilis.

List retourne les objets qui sont stocks par lutilisateur.

Upload permet de charger un fichier.

Download permet de tlcharger un fichier stock.

Post permet de crer un container.

Structure de la commande :
swift
-v
-V2.0
-A
<keystone_server_ip>:<port>/v2.0/
<tenant>:<username> -K <password> <command>

-U

<keystone_server_ip> correspond ladresse ip du module keystone.

<port> le port dfini lors de la configuration du module keystone ; par dfaut il est

fix 35357.

<tenant> doit correspondre au tenant auquel vous avez li lutilisateur de swift


lors de la configuration de keystone.

<user> doit correspondre lutilisateur que vous avez cr pour swift lors de la
configuration de keystone.

<password> le mot de passe dfini pour votre utilisateur.

<command> lune des commandes dcrite ci-dessus.

EXEMPLE 1 STAT (SANS OBJET)


Lexcution de la commande :
swift -v -V2.0 -A
swift stat

http://localhost:35357/v2.0/ -U service:swift -K

Retourne :
StorageURL:
http://localhost:9999/v1/AUTH_b064d07e0efd4125857c4880e73f39c9

25
Version 1.0

Auth Token: e7c2891e7b45407596c40c1086c302e3


Account: AUTH_b064d07e0efd4125857c4880e73f39c9
Containers: 0
Objects: 0
Bytes: 0
Accept-Ranges: bytes
X-Trans-Id: txadbfef532f9a47c0bbd847cec689955a

EXEMPLE 2 UPLOAD
Lexcution de la commande :
swift -v -V2.0 -A http://localhost:35357/v2.0/ -U service:swift -K
swift upload test.txt

Retourne :
Aucun retour

EXEMPLE 3 POST
Lexcution de la commande :
swift -v -V2.0 -A
-K swift post
containerTest

http://129.194.20.36:35357/v2.0/ -U service:swift

Retourne :
Aucun retour

EXEMPLE 4 STAT (AVEC OBJET)


Lexcution de la commande :
swift -v -V2.0 -A
swift stat

http://localhost:35357/v2.0/ -U service:swift -K

Retourne :
StorageURL:
http://localhost:9999/v1/AUTH_b064d07e0efd4125857c4880e73f39c9
Auth Token: e7c2891e7b45407596c40c1086c302e3
Account: AUTH_b064d07e0efd4125857c4880e73f39c9
Containers: 1
Objects: 1
Bytes: 122
Accept-Ranges: bytes
X-Trans-Id: txadbfef532f9a47c0bbd847cec689955a

5.3 DuraCloud
La procdure dinstallation de DuraCloud concerne la version source.
Cette installation de DuraCloud est configure pour fonctionner avec Amazon S3.
Il est recommand davoir ses propres installations de Tomcat, Maven et ActiveMQ.

26
Version 1.0

Avant de commencer linstallation de DuraCloud, il faut vrifier dans /etc/environment que les
variables denvironnement suivantes existent avec les emplacements corrects ; autrement il
faudra les crer :

M3_HOME ou M2_HOME selon la version de Maven choisie.

M3_$M3_HOME/bin ou M2_$M2_HOME/bin selon la version de Maven choisie.

JAVA_HOME

JRE_HOME
CATALINA_HOME

Et dfinir les variables :

export JAVA_OPTS="-XX:MaxPermSize=512m"
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"

Ensuite rcuprer la dernire version (2.3.0) de DuraCloud avec la commande :


svn co https://svn.duraspace.org/duracloud/tags/duracloud-2.3.0

5.3.1 Modification de la version source de DuraCloud


Cette partie concerne la compatibilit entre Openstack et Duracloud, mais elle nest
malheureusement pas fonctionnelle car Keystone nest pas compatible avec DuraCloud.
Je me suis bas sur lchange de mails avec les dveloppeurs de DuraCloud pour identifier les
fichiers modifier.
SDSCStorageProvder.java qui se trouve dans
DURACLOUD_HOME/sdscstorageprovder/src/main/java/org/duracloud/sdscstorage
/

Il faut modifier la valeur qui est attribue la variable private static String authUrl
par ladresse du serveur dOpenStack.
Et SDSCStorageProviderTest.java qui se trouve dans
DURACLOUD_HOME/sdscstorageprovder/src/test/java/org/duracloud/sdscstorage
/

Il faut modifier la valeur qui est attribue la variable String expected par ladresse du
serveur dOpenStack.

5.3.2 Tomcat
Pour la configuration de Tomcat, il faut lui ajouter un utilisateur dans le fichier
$CATALINA_HOME/conf/tomcat-users.xml ouvrir avec les droits administrateurs.
sudo gedit $CATALINA_HOME/conf/tomcat-users.xml
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>

27
Version 1.0

<user username="[USERNAME]" password="[PASSWORD]"


roles="admin,manager"/>
</tomcat-users>

[USERNAME] nom dutilisateur dfinir qui sera rutilis dans Maven.

[PASSWORD] mot de passe dfinir qui sera rutilis dans Maven.

Puis dmarrer Tomcat.


sudo sh $CATALINA_HOME/bin/starup.sh

5.3.3 Maven
Il faut rajouter les lignes suivantes dans le fichier $M2_HOME/conf/settings.xml.
sudo gedit $M2_HOME/conf/settings.xml
<servers>
<server>
<id>tomcat-server</id>
<username>[USERNAME]</username>
<password>[ ASSWORD]</password>
</server>
</servers>

[USERNAME] nom dutilisateur dfini dans Tomcat.

[PASSWORD] mot de passe dfini dans Tomcat

5.3.4 ActiveMQ
Ouvrir avec les droits administrateurs le fichier /conf/activemq.xml lemplacement de
votre installation dActiveMQ. Il va falloir modifier le port de fonctionnement dun des
connecteurs dActiveMQ.
Retrouver la ligne suivante et la commenter :
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireformat.maxFrame
Size=104857600"/>

Puis ajouter :
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireformat.maxFrame
Size=104857600"/>

Puis dmarrer ActiveMQ /bin/activemq start depuis lemplacement de votre


installation.

5.3.5 Dploiement
Il faut se rendre dans la racine de votre rpertoire de DuraCloud, puis excuter :
28
Version 1.0

Sudo mvn clean install

Cette commande va crer les 4 .war qui correspondent chacun un module de


DuraCloud. Ils seront dploys dans le rpertoire webapps de Tomcat.
Le dploiement dure environ un quart dheure.
Durant la cration des .war le terminal va afficher des erreurs lies aux jeux de test de
DuraCloud ; il ne faut pas en tenir compte.

5.3.6 OSGi (Open Services Gateway initiative) Container


Excuter la commande :
Sudo mvn clean -f pom-run.xml pax:provision

Depuis le rpertoire /services/servicesadmin qui se trouve la racine du rpertoire


dinstallation de DuraCloud.
Puis cd runner, et lancer la commande chmod +x run.sh.
Il va falloir ajouter la variable denvironnement :
BUNDLE_HOME=[DURACLOUD_HOME]/osgi-container

Pour terminer, excuter run.sh


Sudo sh run.sh

A la fin dexcution de run.sh taper sur la touche Enter , puis taper ss dans votre
terminal ; une cinquantaine dobjets vont apparatre avec un statut ACTIVE ou
RESOLVED .

5.3.7 Configuration de DuraCloud


Depuis le rpertoire /app-config qui se trouve la racine de votre rpertoire dinstallation
de DuraCloud.
Pour assembler le module de configuration, excuter :
Sudo mvn assembly:assembly

Ensuite rcuprer le fichier init.props qui se trouve dans /appconfig/src/main/resources/ copier le dans /app-config.
Ce fichier va permettre de configurer DuraCloud.
Contenu du fichier init.props :
###
# defines where duradmin, durastore, duraservice are deployed
app.*.host=localhost
app.*.port=8080
app.durastore.context=durastore

29
Version 1.0

app.duraservice.context=duraservice
app.duradmin.context=duradmin
# app.duraboss.context=duraboss
durastore.storage-acct.0.owner-id=0
durastore.storage-acct.0.is-primary=true
durastore.storage-acct.0.id=0
durastore.storage-acct.0.provider-type=AMAZON_S3
durastore.storage-acct.0.username=[AMAZON USERNAME]
durastore.storage-acct.0.password=[AMAZON PASSWORD]
durastore.storage-acct.0.storage-class=rrs
###
# defines duraservice elements
###
duraservice.primary-instance.host=localhost
duraservice.primary-instance.services-admin-port=8089
duraservice.primary-instance.services-admincontext=org.duracloud.services.admin_2.3.0
duraservice.user-storage.host=localhost
duraservice.user-storage.port=8080
duraservice.user-storage.context=durastore
duraservice.user-storage.msg-broker-url=tcp://localhost:61617
duraservice.service-storage.host=dcprod.duracloud.org
duraservice.service-storage.port=8080
duraservice.service-storage.context=durastore
duraservice.service-storage.username=[MY USERNAME]
duraservice.service-storage.password=[MY PASSWORD]
duraservice.service-storage.space-id=duracloud-2.3.0-service-repository
duraservice.service-storage.service-xml-id=duracloud-2.3.0-service-repository.xml
###
# defines where durastore and duraservice are deployed, for duradmin
###
duradmin.durastore-host=localhost
duradmin.durastore-port=8080
duradmin.durastore-context=durastore
duradmin.duraservice-host=localhost
duradmin.duraservice-port=8080
duradmin.duraservice-context=duraservice
###
# defines new users
###
security.user.0.username=[MY USERNAME]
security.user.0.password=[MY PASSWORD]
security.user.0.email=[MY EMAIL]
security.user.0.enabled=true
security.user.0.acct-non-expired=true
security.user.0.cred-non-expired=true
security.user.0.acct-non-locked=true
security.user.0.grants.0=ROLE_USER
security.user.0.grants.1=ROLE_ADMIN

Aprs avoir termin de configurer init.props, pour lancer la configuration, excuter la


commande :
java -jar target/app-config-<VERSION>-driver.jar <init.props>

30
Version 1.0

<VERSION> correspond au version de DuraCloud.

<init.props> correspond au nom du fichier de configuration de DuraCloud,

normalement il doit tre init.props .


A la fin dexcution de la commande un Success devrait apparatre pour signaler que la
configuration sest conclue correctement.Utilisation
Dans un navigateur web taper localhost :8080/duradmin pour accder DuraCloud. Si
linstallation sest droule correctement vous devriez avoir cette fentre qui saffiche :


31
Version 1.0

Il faut saisir le nom dutilisateur et le mot de passe saisie dans le fichier de configuration de
DuraCloud.

Linterface de Duracloud est compose de 3 parties :

Spaces

: Contient les diffrents espaces de stockage

Content itmes
slectionns

: Contient les objets qui sont dans les espaces de stockage

Space Detail
: Contient des informations en fonction des objets ou des
espaces slectionns

5.4 CloudSync
Avant de dployer CloudSync, il faut activer lindex ressource de Fedora Commons ; autrement il
ne fonctionnera pas.
Rcuprer la dernire version de CloudSync, puis dployer le .war dans le rpertoire webapps
de Tomcat .
Lien de tlchargement de la dernire version de CloudSync :
https://wiki.duraspace.org/display/CLOUDSYNC11/Downloads
Aprs le dploiement, il faut taper dans votre navigateur web localhost :8080/fcrepocloudsync-service-1.1.0 pour y accder.

fcrepo-cloudsync-service-1.1.0 : Cest le nom du service sur Tomcat ; ce nom

peut varier si le nom a t chang.


Lors de la premire connexion, une fentre demande la saisie dun nouveau nom dutilisateur et
un mot de passe pour y accder par la suite.
Avant de pouvoir effectuer une copie ou une restauration des objets, il faut dabord ajouter les
emplacements de DuraCloud et Fedora avec leurs informations de connexion.

5.4.1 Utilisation

CloudSync est dcoup en 4 onglets :

Tasks : Contient les diffrentes tches de copie ou de listing des objets de Fedora
Commons et DuraCloud.
Sets

: Contient les paramtres de slection des objets pour les tches.

Stores : Contient les emplacements ainsi que les noms dutilisateurs et mot de passe
de DuraCloud et Fedora Commons.
Users : Contient les utilisateurs de CloudSync.

32
Version 1.0

AJOUT DUN EMPLACEMENT STORE


Le bouton Add qui se trouve dans longlet Stores va permettre dajouter trois
emplacements diffrents :


DuraCloud-based : Emplacement de DuraCloud
Fedora based

: Emplacement de Fedora Commons

Directory-based

: Emplacement dun rpertoire en local

DURACLOUD - BASED


Hostname or URL

: http://host:port/durastore

DuraCloud Username : Nom dutilisateur DuraCloud


DuraCloud Password : Mot de passe DuraCloud

FEDORA COMMONS BASED


33
Version 1.0

Base URL

: http://host:port/fedora

Fedora Username

: Nom dutilisateur Fedora

Fedora Password

: Mot de passe FedoraCration et excution dune

tche Task


Copy

Paramtre de slection des objets dfini dans la partie Sets .

In

Source des objets.

From

Emplacement de dpart.

To

Emplacement de destination.

Task name

Nom de la tche.

Il y a un inconvnient, il ny a malheureusement pas encore la possibilit de crer des tches planifies,


cest--dire quil faudrait excuter manuellement la tche pour y effectuer une copie ou restauration.

5.5 Tests
Comme premier test jai copi les objets de dmo de Fedora Commons vers DuraCloud puis ensuite de
DuraCloud vers Fedora Commons pour la restauration des objets.
Les deux premiers tests ont t concluants, la duplication et la restauration ont fonctionn
correctement.
Ensuite, on a voulu tester la duplication des objets avec des fichiers attachs depuis vital-test2 vers
DuraCloud, mais malheureusement on a rencontr des problmes de connexion et daccs vital-test2.

34
Version 1.0

Par consquent, on a dcid dexporter une septantaine dobjets depuis vital-test2 puis de les importer
dans le Fedora Commons sur le serveur de test et ainsi avons pu continuer nos tests.


Le deuxime test, la duplication des objets avec des fichiers attachs a fonctionn.


On a bien retrouv les objets unige avec les fichiers attachs.
Durant cette phase de test, nous avons essay de cibler certains objets copier avec les PID, mais
apparemment il y a encore quelques problmes pour la duplication dobjets spcifiques. Actuellement, il
nest possible que de copier la totalit des objets disponibles.
Problme li au PID https://jira.duraspace.org/browse/CLOUDSYNC-27

35
Version 1.0

5.6 Alternative
Aprs lchec de linstallation dOpenStack, nous avons dcid de nous rorienter vers le Cloud Amazon
S3. Il offre la possibilit de crer un compte dessai et est compatible avec DuraCloud. (Dautres Clouds
sont possibles, par exemple, Windows Azure, HP Cloud, et Rackspace, mais nont pas t tests.)

6 Problmes et solutions
6.1 Horizon Internal Error
Problme :
Apparition du message derreur Internal Error aprs avoir valid le mot de passe et
nom dutilisateur depuis linterface web.

Solution :
Horizon est un module qui dpend des autres, particulirement de Keystone et de Nova.
Pour son bon fonctionnement, il faut installer et configurer Nova et Keystone avant le
module Horizon.

6.2 Swift There is no object-store endpoint on this auth server


Problme :
Apparition du message derreur There is no object-store endpoint on this auth server
lors lexcution de la commande swift -V 2 -A http://localhost:35357/v2.0 -U admin -K
bonjour list pour afficher le contenu des objets appartenant lutilisateur admin.

Solution :
Le problme vient dune mauvaise attribution du type lors de la cration du point
daccs.
Il faut que les types correspondent :
Nova
:
Glance :
Swift
:
Keystone :

Compute et Volume
Image
Object-Store
Identity

6.3 Problme avec IRODS lors de la compilation de DuraCloud avec Maven


Problme :
Apparition du message derreur li IRODS lors du dploiement de DuraCloud avec
Maven.

Solution :

36
Version 1.0

Dans les sources de DuraCloud il manque un composant dIRODS, sans celui-ci il


est impossible de dployer DuraCloud.
Il faut se rendre ladresse :
https://m2.duraspace.org/content/repositories/thirdparty/org/duracloud/umiacs
/irods-api/1.3/
Et tlcharger : irods-api-1.3.jar
Puis excutez la commande :
mvn install:install-file -DgroupId=edu.umiacs.irods -DartifactId=irodsapi -Dversion=1.6 -Dpackaging=jar -Dfile=/Emplacement/irods-api-1.3.jar

6.4 Erreur Cant find bundle for base name messages, locale fr_FR dans Tomcat
Problme :
Apparation du message derreur Cant find bundle for base name messages, locale
fr_FR dans catalina.out ou dans le navigateur quand on tente daccder DuraCloud
aprs son installation.

Solution :
Le problme vient dune incompatibilit de langage entre DuraCloud et le
navigateur. Il suffit de changer la langue du navigateur si cest possible ou de
changer les paramtres rgionaux de lOS.
DuraCloud doit probablement tenter de safficher selon la langue du navigateur.

6.5 Erreur Cannot invoke tomcat manager


Problme :
Apparition du message derreur Cannot Invoke tomcat manager lors du
dploiement de DuraCloud.
Solution :
Cette erreur peut tre due plusieurs choses.
Pour commencer, vrifier les fichiers suivants :

$M2_HOME/conf/settings.xml

$CATALINA_HOME/conf/tomcat-users.xml

Les mot de passe et nom dutilisateur doivent tre pareils.

37
Version 1.0

Si cest le cas, vrifier dans $CATALINA_HOME/conf/tomcat-users.xml que


lutilisateur que vous avez cre possde les rles admin et manager.
Si a ne marche toujours pas, il faut modifier le mot de passe et/ou le nom de
lutilisateur dans les fichiers :

$M2_HOME/conf/settings.xml

$CATALINA_HOME/conf/tomcat-users.xml

Et ensuite redmarrer Tomcat.


6.6 Liaison entre DuraCloud et OpenStack Swift


Problme :
Apparition derreur lors du dploiement, quand Duracloud tente de se connecter
Openstack.
https://groups.google.com/forum/?fromgroups#!topic/duracloud-dev/zZP-wSs5YIc
Solution :
Dans un premier temps, jai tent de faire la liaison avec la version binaire de
Duracloud en partant des diffrentes informations que jai trouv sur le groupe de
discussion de Duracloud :
https://groups.google.com/forum/?fromgroups#!topic/duracloud-dev/CyvlsrjDjT8
Narrivant pas, jai dcid de me tourner vers M. Melichar pour lui faire part de mon
problme, il ma recommand de contacter le fournisseur de DuraCloud.
Il y a eu un change de mail avec une employe de DuraCloud qui nous a
recommand dadapter le connecteur dSDSC sur linstallation dOpenstack.
Jai repris la version source de Duracloud pour modifier les diffrents fichiers qui
faisaient rfrence SDSC.

SDSCStorageProvder.java qui se trouve dans


DURACLOUD_HOME/sdscstorageprovder/src/main/java/org/duracloud/sdscstor
age/

SDSCStorageProviderTest.java qui se trouve dans


DURACLOUD_HOME/sdscstorageprovder/src/test/java/org/duracloud/sdscstor
age/

Mais le problme a persist.


Jai dcid de recontacter lemploye qui nous avait rpondu, cependant cette fois-ci
elle ma recommand de faire un post sur un groupe de discussion :
https://groups.google.com/forum/?fromgroups#!topic/duracloud-dev/zZP-wSs5YIc .
38
Version 1.0

Jai eu une rponse assez rapidement, mais la solution propose ntait pas possible.
Cyberduck ntant pas compatible avec keystone et que les autres mthodes
dauthentification, sont soit abandonnes du ct dOpenstack ou la documentation
est obsolte.
Ce que jai signal sur le groupe de discussion.
La rponse sur le groupe de discussion ma surpris, car les dveloppeurs seraient
intresss rcuprer mon travail si jarrivais le faire fonctionner avec keystone.
Actuellement lune des solutions possibles serait deffectuer le dveloppement dun
module greffer sur Duracloud pour prendre en charge Keystone ou soit dessayer
une des autres mthodes dauthentification prises en charge par Swift.

7 Echange de mail
7.1 Mardi 9 avril 2013
Onur Erdogan
Dear Sir or Madam,
I'm a trainee at the University of Geneva and Im writing to you because Im encoutering a problem and I
would like to have some help.
I have to install a cloud using OpenStack Swift and DuraCloud. For the moment, Ive installed OpenStack
Swift and it works.

But unfortunately, Im stuck on the deployment of DuraCloud with the configuration of the
init.properties, because I don't know which provider I should put. I saw on the internet that it is
possible to use OpenStack Swift as RackSpace and HP Cloud using the OpenStack API.
Could you please confirm me that its possible to use OpenStack Swift with DuraCloud and if yes,
could you please tell me more about it ?
Thank you for your support.
Best regards.
Onur Erdogan

7.2 Mardi 9 avril 2013


Carissa Smith
DuraCloud Partner Specialist
Hello Onur,

39
Version 1.0

DuraCloud uses OpenStack Swift as the basis for both the Rackspace and SDSC storage provider
implementations, but there is not a generic OpenStack provider which can be used out of the
box with DuraCloud. It should be relatively easy to create such an implementation, simply pull
down the DuraCloud code and make a copy of the sdscstorageprovider project. The primary
change you would need to make is to update the authUrl so that it points to your Swift
installation. You would then need to update the StorageProviderType class to include your new
provider as an option. That should be about it for code changes needed.
With regard to getting the init.properties set up properly, please read over some of the
conversations on the DuraCloud Dev mailing list (https://groups.google.com/group/duracloud-
dev) where init.properties setup is discussed at length.
If you have any further questions, please do not hesitate to email me.
Best,
Carissa Smith
DuraCloud Partner Specialist
csmith@duraspace.org

7.3 Mercredi 17 avril 2013


Hello Carissa,

I updated the authURL of sdscstorageprovider so that he points on my openstack. But I still
cant deploy the DuraCloud because it fails to connect to SWIFT.
But should the authURL point to the swift or keystone?
And in the init.properties, what is exactly the duraservice.service-
storage.host = dcprod.duracloud.org parameter ?
Thank you very much for your support.
Best regards.
Onur Erdogan

7.4 Mercredi 17 avril 2013


Good morning Onur,

I would encourage you to sign up for the DuraCloud Dev mailing list and post these questions
there. Someone should be able to respond within a few days:
https://groups.google.com/group/duracloud-dev

Best,
Carissa

40
Version 1.0

7.5 Google Groupes


https://groups.google.com/group/duracloud-dev

8 Planning
Tche Nom de la tche

1
2
3
4
5
6
7
8
9
10
11
12

Recherche
Documentation
OpenStack
Installation d'OpenStack
Configuration OpenStack
Test d'openStack
DuraCloud
Installation DuraCloud
Configuration DuraCloud
Test DuraCloud
Cloud
Liaison entre Fedora et
Openstack avec DuraCloud
13 Copie des fichiers sur le cloud
14 Test Cloud

Dure

Dbut

Fin

5.3 mois
5.3 mois
22 jours
5 jours
7 jours
10 jours
19 jours
6 jours
7 jours
6 jours
29 jours

Ven 01.02.13
Ven 01.02.13
Mar 12.02.13
Mar 12.02.13
Mar 19.02.13
Jeu 28.02.13
Jeu 14.03.13
Jeu 14.03.13
Ven 22.03.13
Mar 02.04.13
Mer 10.04.13

Ven 28.06.13
Ven 28.06.13
Mer 13.03.13
Lun 18.02.13
Mer 27.02.13
Mer 13.03.13
Mar 09.04.13
Jeu 21.03.13
Lun 01.04.13
Mar 09.04.13
Lun 20.05.13

10 jours

Mer 10.04.13 Mar 23.04.13

4 jours
15 jours

Mer 24.04.13 Lun 29.04.13


Mar 30.04.13 Lun 20.05.13

Prdcesseurs





4
5
3

8
9
7

12
13

9 Webographie
9.1 Openstack
GNRAL
http://www.openstack.org/

INSTALLATION
http://doc.ubuntu-fr.org/openstack
http://www.hastexo.com/resources/docs/installing-openstack-essex-20121-ubuntu-1204-precise-
pangolin
https://blog.hpcloud.com/road-essex-part-1-keystone-and-swift-keystone-authentication
http://docs.openstack.org/trunk/openstack-object-storage/admin/content/proxy-server-
configuration.html
https://blog.hpcloud.com/road-essex-part-2-keystone-and-swift-keystone-authentication
http://docs.openstack.org/developer/swift/development_saio.html

41
Version 1.0

9.2 Duracloud
GNRAL
https://wiki.duraspace.org/display/DURACLOUDDOC/DuraCloud+Java+Clients

INSTALLATION
https://wiki.duraspace.org/display/DURACLOUDDOC/Building+DuraCloud+Software+from+Source
https://wiki.duraspace.org/display/DURACLOUDDOC/Deploying+DuraCloud+from+Binaries

GOOGLE GROUPS
https://groups.google.com/group/duracloud-dev

9.3 Amazon S3 (Simple Storage Service)


http://aws.amazon.com/fr/s3/

9.4 Azure
http://www.windowsazure.com/fr-fr/

9.5 SDSC
http://www.sdsc.edu/

9.6 IRODS
https://www.irods.org/index.php/IRODS:Data_Grids,_Digital_Libraries,_Persistent_Archives,_and_Re
al-time_Data_Systems

9.7 HP Cloud
https://www.hpcloud.com/

9.8 Rackspace
http://www.rackspace.com/cloud/files/

9.9 CyberDuck
http://cyberduck.ch/
http://trac.cyberduck.ch/wiki/help/en/howto/openstack

9.10 jClouds
http://www.jclouds.org/

10 Annexe : Les informations de connexions


OPENSTACK SWIFT
Nom dutilisateur

: swift

42
Version 1.0

Mot de passe

: swift

DURACLOUD
URL

: http://129.194.20.36:8080/duradmin/

Nom dutilisateur

: admin

Mot de passe

: duracloud

FEDORA
URL

: http://129.194.20.36:8080/fedora/describe

Nom dutilisateur

: fedoraAdmin

Mot de passe

: fedora

CLOUDSYNC
URL

: http://129.194.20.36:8080/fcrepo-cloudsync-service-1.1.0/login

Nom dutilisateur

: cloudsync

Mot de passe

: admin

TOMCAT
URL

: http://129.194.20.36:8080/

Nom dutilisateur

: tomcat

Mot de passe

: admin

43
Version 1.0