We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Connection through OpenStack


lefoudesoft
04-06-2014, 04:36 PM
@vcasse - OVH Team :

Je me permet de me greffer sur la conversation, en espérant avoir quelques réponses à mes questions :

-Hubic et PCS dispose de quelques inconvéniants avec les "gros" fichiers, en particulier avec les fonctions "MOVE" et "RENAME". Est-ce que les solutions d'améliorations annoncées par Mr. KLABA (article concernant GitHub) sont actuellement en cours de développement ?
-PCS est depuis de longs mois déjà en beta, sera-il bientôt possible de "tester" les fonctions du manager V6 (création contenaire, upload fichiers & dossiers, déplacer, renommer, supprimer, etc ...)
-Qu'en sera-t-il de l'upload des fichiers et des dossiers (possible aussi ?) au niveau des restrictions imposées par les navigateurs, en gros, la possibilité d'uploader des "gros" fichiers ou dossiers de plusieurs dizaines de gigas ?
-Est-ce que ces défauts seront "gommés" d'ici la sortie finale de PCS ? Avez-vous déjà une idée de sortie, encore pour 2014 ?

J'espère vraiment avoir une réponse à mes questions.

Merci

Cordialement,

ZBD
04-04-2014, 05:50 PM
Ok, en fait je peux écrire lorsque je ne passe pas par le système d'abstraction de Gaufrette :

Marche pas :
copy('uploads/test.jpg', 'data://default/test.jpg');
// ou
$fp = fopen('data://default/file.txt', 'w+');
fwrite($fp, 'Ahah ! Ça fonctionne... pas !');
En revanche, voici une solution qui fonctionne :
$file = fopen('uploads/test.jpg', 'r');
$this->get('opencloud.object_store')->getContainer('default')->uploadObject('test.jpg', $file);
Voilà, en espérant que ça puisse aider de futurs utilisateurs !
Si je trouve comment faire fonctionner la couche d'abstraction de Gaufrette, je viendrai relater mon exploit ici (et naturellement, ce qu'il faut faire pour le reproduire !).

Bon week end !
Merci pour ta patience Vincent !

Cordialement,
Jérémy

ZBD
04-04-2014, 05:27 PM
En fait j'utilise gaufrette qui fait le travail à ma place.
J'ai néanmoins réussi à me connecter ! Je mets ma conf' ici des fois que ça puisse en dépanner d'autres :

knp_gaufrette:
adapters:
default:
opencloud:
object_store_id: opencloud.object_store
container_name: default
filesystems:
default:
adapter: default

stream_wrapper:
protocol: data

services:
opencloud.connection:
class: OpenCloud\OpenStack
arguments:
- %openstack_identity_url%
- {username: %openstack_username%, password: %openstack_password%, tenantName: %openstack_tenant_name%}

opencloud.object_store:
class: OpenCloud\ObjectStore\Service
factory_service: opencloud.connection
factory_method: objectStoreService
arguments:
- 'swift' # Object storage type
- 'RegionOne' # Object storage region
- 'publicURL' # url type


knp_gaufrette.adapter.opencloud:
class: Mon\SuperBundle\Adapter\OpenCloud
abstract: true
public: false
arguments:
- ~ # ObjectStore
- ~ # Container name
- ~ # Create container
- ~ # Detect content type
(J'ai dû surcharger l'adapter OpenCloud de Gaufrette, qui faisait des ->Container() au lieu de ->getContainer() )

J'avance mais c'est encore pas l'extase... quand j'essaie d'écrire un fichier, j'ai cette erreur :

Client error response
[status code] 404
[reason phrase] Not Found
[url] https://lb1047.pcs.ovh.net/v1/AUTH_123456/default/test.txt
Il me dit not found... sauf que j'essaie d'écrire le fichier ! Pas de lire !

Merci encore ! Cordialement,

Jérémy

vcasse
04-04-2014, 04:38 PM
C'est assez étrange, normalement, le sdk php-opencloud doit savoir récupérer ses informations sans problème.

Est ce que tu utilises cette commande pour obtenir ton object storage ?
$objectStoreService = $client->objectStoreService(null, $region);
documentation de php-opencloud

Merci pour les informations
Cordialement,
Vincent

ZBD
04-04-2014, 02:38 PM
L'application en question permet le partage de données médicales.

Puisque tu insistes, me voilà avec de nouvelles questions (Cloud Storage cette fois). J'ai réussi à me conencter (yeah !). Sauf que maintenant, il semblerait qu'il me faille configurer un ObjectStore, et il me demande des choses qui ne me parlent pas beaucoup...

arguments:
- 'cloudFiles' # Object storage type
- 'DFW' # Object storage region
- 'publicURL' # url type

Une idée ?

Actuellement, avec ces paramètres, je mange une erreur : "No endpoints for service type [object-store], name [Object Storage], region [DFW] and urlType [publicURL]"

Merci à toi ! Cordialement,

Jérémy

vcasse
04-04-2014, 02:13 PM
De rien

Hésites pas si tu as d'autres questions.

Si tu as la possibilité de le dire, pourrais tu nous décrire le type d'application que tu développes ? Cela nous intéresse de savoir quels sont les usages de hubiC et du public Cloud

Cordialement,
Vincent

ZBD
04-04-2014, 02:01 PM
Merci pour toutes ces précisions !

Je vais aller voir le Public Cloud dans ce cas !

Pour l'erreur 509, ce qui me surprend, c'est que je bosse en local, et j'ai le problème uniquement quand c'est php qui fait la demande.

Bref, je pense que ça sera plus simple avec OpenStack !

Merci beaucoup Vincent pour ton aide !

vcasse
04-04-2014, 01:32 PM
Bonjour Zbd,

Effectivement, hubic ne semble pas correspondre à ton besoin. Nous ne proposons que la connexion à Oauth avec hubic alors que le public cloud permet une connexion standard à Openstack.
Le public cloud est actuellement en béta. Tu peux donc l'utiliser autant que tu souhaites pour le moment

Les erreurs 509 sont dues à des dépassements du rate-limit de l'api. Cela signifie que le nombre de requêtes effectuées par l'IP étaient trop importante.

Cordialement,
Vincent

ZBD
04-04-2014, 11:41 AM
Bonjour Vincent !

Je te remercie encore pour tes lumières !
Donc OVH permet une connexion standard OpenStack ?
J'ai créé un compte hubic car en lisant la fac OV, il m'a semblé que tout était identique (mis à part débit et limitations) entre OVH Cloud Storage et HubiC.

Du coup je vais abandonner HubiC.
Mais pour en revenir à ce que tu m'as dit hier, mon problème est en fait un brin plus compliqué ! J'avais besoin de connecter le serveur à HubiC, et non pas l'utilisateur de mon app' via Oauth. Donc j'ai dû utiliser Goutte pour pouvoir faire des requêtes depuis mon controller. MAIS impossible de passer l'étape de soumission du formulaire (https://api.hubic.com/oauth/auth/). J'ai systématiquement une erreur HTTP 509 (Dépassement de quota). Je me suis dit que c'était à cause de mes moults essais, mais en fait si j'utilise la voie standard, ça fonctionne... donc je ne comprends pas tout.

Bref, du coup, j'ai une autre question ! Est-ce qu'OVH propose une période d'essai pour la solution Cloud Storage ? Car j'en ai besoin pour continuer mon développement, mais je ne prendrai pas un abonnement pour mon client avant d'être sûr que tout fonctionne comme attendu.

Au plaisir !

vcasse
04-04-2014, 10:14 AM
Salut Zbd,

Hésites pas si tu as d'autres questions (surtout sur sf2)

Est-ce que l'authentification pour OVH Cloud Storage est identique à celle d'Hubic ?
Non, ce n'est pas le cas. Elle passe via l'api OVH et fournit les identifiants keystone.

Cordialement,
Vincent

ZBD
04-03-2014, 05:21 PM
Ok !

Je te remercie pour ta réponse (rapide qui plus est !)
Autre question : Est-ce que l'authentification pour OVH Cloud Storage est identique à celle d'Hubic ?

Merci et bonne soirée !

Cordialement,

Jérémy

vcasse
04-03-2014, 05:17 PM
Bonjour Zdb,

L'authentification hubic est différente de l'authentification par défaut openstack.
Je ne sais pas comment fonctionne la librairie php-openstack. Mais tu peux utiliser la librairie HWIOAuthBundle pour se connecter à hubic. (regarde dans les pull-requests, il y a le portage hubic).
Tu pourras ensuite récupérer les crédentials de swift à fournir dans ta librairie openstack.

Cordialement,
Vincent

ZBD
04-03-2014, 05:06 PM
Hi all,

I'm a little bit confused because I can't get connected with OpenStack API.
I'm working on a Symfony2 (php framework) application, wich is using php-openstack. This one needs an url to get connected, but this do not seems to be a Oauth authentication).

It needs a "something.com/tokens" url. Anybody could help me ?

Thank you for answers!

----

En français :

Bonjour tout le monde !

Je suis un peu embêté parce que je n'arrive pas à me connecter avec l'API OpenStack.
Je travaille sur une application Symfony2 (framework php), qui utilise php-openstack. Cette lib a besoin d'une url pour s'authentifier, mais ça n'a pas l'air d'être une authentification Oauth.

Elle cherche une url "quelquechose.com/tokens", quelqu'un a une idée ?

Merci pour vos réponses !