43
1 Version 1.0 Recherche et mise en place d’un prototype de DuraCloud avec OpenStack Service NTICE – DiSTIC Université de Genève Ecole supérieure d’informatique de gestion (ESIG) FévrierJuin 2013 Etudiant : Onur Halil Erdogan Maître de stage : M. Jan Melichar Conseillère pédagogique : Mme Atika Laribi

o Erdogan 2013

  • Upload
    -

  • View
    9

  • Download
    3

Embed Size (px)

DESCRIPTION

Cloud Computing avec DuraCloud

Citation preview

  • 1 Version 1.0

    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

  • 2 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

    VERSION ...................................................................................................................................................... 9

    INFORMATION .............................................................................................................................................. 9

    PR-REQUIS ................................................................................................................................................. 9

    4.2 OpenStack ........................................................................................................................................ 9

    VERSION .................................................................................................................................................... 10

    MODULES .................................................................................................................................................. 10

    OpenStack Compute (Nova) ...................................................................................................... 10

    OpenStack Imaging Service (Glance) ......................................................................................... 10

    OpenStack Object Storage (Swift) .............................................................................................. 10

    OpenStack Identity (Keystone) .................................................................................................. 10

    OpenStack Dashboard (Horizon) ................................................................................................ 10

    ARCHITECTURE DOPENSTACK OBJECT STORAGE ........................................................................................... 11

    PR-REQUIS ............................................................................................................................................... 11

    4.3 DuraCloud ...................................................................................................................................... 11

    VERSION .................................................................................................................................................... 12

    MODULES .................................................................................................................................................. 12

    Duraboss .................................................................................................................................... 13

    DurAdmin ................................................................................................................................... 13

    DuraStore ................................................................................................................................... 13

    DuraService ................................................................................................................................ 13

    Architecture ...................................................................................................................................... 13

    PR-requis ................................................................................................................................................ 13

    SERVICES et outils supplmentaires ......................................................................................................... 14

  • 3 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

    VERSION .................................................................................................................................................... 15

    PR-requis ................................................................................................................................................ 15

    FONCTIONNEMENT ..................................................................................................................................... 15

    5 Installation des logiciels ........................................................................................................................ 15

    5.1 MySQL ............................................................................................................................................ 15

    5.2 OpenStack ...................................................................................................................................... 16

    5.2.1 Keystone ............................................................................................................................ 16

    PAQUETS REQUIS ........................................................................................................................................ 16

    CONFIGURATION DE KEYSTONE .................................................................................................................... 16

    CRATION DES UTILISATEURS ....................................................................................................................... 16

    CRATION DES RLES .................................................................................................................................. 17

    CRATION DES TENANTS .............................................................................................................................. 17

    DFINITION DES RLES ................................................................................................................................ 18

    CRATION DES SERVICES ET LEURS POINTS DACCS ........................................................................................ 19

    5.2.2 Swift .................................................................................................................................. 20

    PAQUETS-REQUIS ....................................................................................................................................... 20

    CONFIGURATION DU MEMCACHED ............................................................................................................... 20

    CONFIGURATION DU PROXY ......................................................................................................................... 21

    CONFIGURATION DES NUDS ...................................................................................................................... 22

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

    EXEMPLE 1 STAT (SANS OBJET) .................................................................................................................... 25

  • 4 Version 1.0

    EXEMPLE 2 UPLOAD .................................................................................................................................... 26

    EXEMPLE 3 POST ........................................................................................................................................ 26

    EXEMPLE 4 STAT (AVEC OBJET) .................................................................................................................... 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

    AJOUT DUN EMPLACEMENT STORE ........................................................................................................ 33

    DURACLOUD - BASED .................................................................................................................................. 33

    FEDORA COMMONS 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

  • 5 Version 1.0

    9 Webographie ........................................................................................................................................ 41

    9.1 Openstack ...................................................................................................................................... 41

    GNRAL ................................................................................................................................................... 41

    INSTALLATION ............................................................................................................................................ 41

    9.2 Duracloud ...................................................................................................................................... 42

    GNRAL ................................................................................................................................................... 42

    INSTALLATION ............................................................................................................................................ 42

    GOOGLE 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

    OPENSTACK SWIFT ..................................................................................................................................... 42

    DURACLOUD .............................................................................................................................................. 43

    FEDORA ..................................................................................................................................................... 43

    CLOUDSYNC ............................................................................................................................................... 43

    TOMCAT .................................................................................................................................................... 43

  • 6 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.

  • 7 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.

  • 8 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.

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

  • 9 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

  • 10 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.

  • 11 Version 1.0

    ARCHITECTURE DOPENSTACK OBJECT STORAGE

    4

    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

  • 12 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.

    5

    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

  • 13 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.

  • 14 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.

  • 15 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 CommonsDuraCloudCloudSync Amazon S3OpenStack

    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 :

  • 16 Version 1.0

    mysql -u root -p

    CREATE DATABASE keystone;

    GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'SQLPASSWD';

    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/ user-create --name=admin --pass=ADMPASSWD [email protected]

  • 17 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/ role-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. 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.

  • 18 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 ADMPASSWD user-list

    Pour les rles :

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

    Pour les tenants :

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

    --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/ user-role-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 :

  • 19 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 : Compute et Volume Glance : Image Swift : Object-Store Keystone : 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.

  • 20 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 MEMCACHED 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

  • 21 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 = [Adresse IP du serveur] bind_port = [Port dfinie dans Keystone] swift_dir = [Emplacement du rpertoire swift] workers = [Nombres dutilisateurs en simultan] user = [Nom du super utilisateur du server] [pipeline:main] pipeline = catch_errors healthcheck cache authtoken swiftauth proxy-server [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

  • 22 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 auth_host = [Adresse IP du serveur] auth_port = [Port de Keystone] auth_protocol = http admin_tenant_name = [Nom du tenant dfinie dans Keystone] admin_user = [Nom dutilisateur dfinie dans Keystone pour Swift] admin_password = [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 create Le paramtre spcifie lobjet avec lequel on va travailler.

    o Object est lobjet qui contient les informations relatives aux objets. o Container est lobjet qui contient les informations concernant les

    containers.

    o Account est lobjet qui contient les informations qui sont lies aux comptes. correspond au nombre de partitions. 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).

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

  • 23 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 object.builder add z1-localhost:6010/sdb1 1 swift-ring-builder object.builder add z2-localhost:6020/sdb2 1 swift-ring-builder object.builder add z3-localhost:6030/sdb3 1 swift-ring-builder object.builder add z4-localhost:6040/sdb4 1 Container

    swift-ring-builder container.builder add z1-localhost:6011/sdb1 1 swift-ring-builder container.builder add z2-localhost:6021/sdb2 1 swift-ring-builder container.builder add z3-localhost:6031/sdb3 1 swift-ring-builder container.builder add z4-localhost:6041/sdb4 1 Account

    swift-ring-builder account.builder add z1-localhost:6012/sdb1 1 swift-ring-builder account.builder add z2-localhost:6022/sdb2 1 swift-ring-builder account.builder add z3-localhost:6032/sdb3 1 swift-ring-builder account.builder add z4-localhost:6042/sdb4 1 Structure de la commande : swift-ring-builder add z-:/ Le paramtre spcifie lobjet avec lequel on va travailler.

    correspond au numro de la zone (serveur). Le minimum est 1 et le maximum est le nombre de zones.

    est ladresse ip de la zone. Il faut mettre une adresse ip ; je lai dfinie en localhost dans le document par mesure de confidentialit.

    est le port utilis par la zone. dfinit lemplacement o seront dposs les objets (object,

    container, account).

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

    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.

  • 24 Version 1.0

    [DEFAULT] bind_ip = [Adresse IP du serveur] workers = [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 = [Adresse IP du serveur] workers = [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 = [Adresse IP du serveur] workers = [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

  • 25 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 :/v2.0/ -U : -K correspond ladresse ip du module keystone. le port dfini lors de la configuration du module keystone ; par dfaut il est

    fix 35357. doit correspondre au tenant auquel vous avez li lutilisateur de swift

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

    configuration de keystone. le mot de passe dfini pour votre utilisateur. lune des commandes dcrite ci-dessus.

    EXEMPLE 1 STAT (SANS OBJET) Lexcution de la commande :

    swift -v -V2.0 -A http://localhost:35357/v2.0/ -U service:swift -K swift stat

    Retourne :

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

  • 26 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 http://129.194.20.36:35357/v2.0/ -U service:swift -K swift post containerTest

    Retourne :

    Aucun retour

    EXEMPLE 4 STAT (AVEC OBJET) Lexcution de la commande :

    swift -v -V2.0 -A http://localhost:35357/v2.0/ -U service:swift -K swift stat

    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.

  • 27 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

  • 28 Version 1.0

    [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

    tomcat-server [USERNAME] [ ASSWORD]

    [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 :

    Puis ajouter :

    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 :

  • 29 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 /app-config/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

  • 30 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-admin-context=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--driver.jar

  • 31 Version 1.0

    correspond au version de DuraCloud.

    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 :

  • 32 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 : Contient les objets qui sont dans les espaces de stockage

    slectionns 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/fcrepo-cloudsync-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.

  • 33 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

  • 34 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.

  • 35 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

  • 36 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 : Compute et Volume Glance : Image Swift : Object-Store Keystone : 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 :

  • 37 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=irods-api -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.

  • 38 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/sdscstorage/

    SDSCStorageProviderTest.java qui se trouve dans DURACLOUD_HOME/sdscstorageprovder/src/test/java/org/duracloud/sdscstorage/

    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 .

  • 39 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,

  • 40 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 [email protected]

    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

  • 41 Version 1.0

    7.5 Google Groupes https://groups.google.com/group/duracloud-dev

    8 Planning

    Tche Nom de la tche Dure Dbut Fin Prdcesseurs 1 Recherche 5.3 mois Ven 01.02.13 Ven 28.06.13 2 Documentation 5.3 mois Ven 01.02.13 Ven 28.06.13 3 OpenStack 22 jours Mar 12.02.13 Mer 13.03.13 4 Installation d'OpenStack 5 jours Mar 12.02.13 Lun 18.02.13 5 Configuration OpenStack 7 jours Mar 19.02.13 Mer 27.02.13 4 6 Test d'openStack 10 jours Jeu 28.02.13 Mer 13.03.13 5 7 DuraCloud 19 jours Jeu 14.03.13 Mar 09.04.13 3 8 Installation DuraCloud 6 jours Jeu 14.03.13 Jeu 21.03.13 9 Configuration DuraCloud 7 jours Ven 22.03.13 Lun 01.04.13 8 10 Test DuraCloud 6 jours Mar 02.04.13 Mar 09.04.13 9 11 Cloud 29 jours Mer 10.04.13 Lun 20.05.13 7 12 Liaison entre Fedora et

    Openstack avec DuraCloud 10 jours Mer 10.04.13 Mar 23.04.13 13 Copie des fichiers sur le cloud 4 jours Mer 24.04.13 Lun 29.04.13 12 14 Test Cloud 15 jours Mar 30.04.13 Lun 20.05.13 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

  • 42 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_Real-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

  • 43 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