Je voudrais poster sur un problème récurrent pour lequel j'ai de nombreuses fois sollicité le support sans réponse autre que "transmis à la R&D"
Il s'agit de l'utilisation de nos containers privés, via Swift dans le contexte d'un navigateur.
J'ai un container (dont les entête sont correctement configurés) qui m'est malheureusement inaccessible depuis un navigateur car des restrictions CORS s'applique en amont, lors de l'obtention du token (`X-Subject-Token`) lors de l'appel à `/auth/tokens`.
En effet la réponse à `/auth/tokens` ne contient pas l'entête `Access-Control-Expose-Headers: X-Subject-Token` (pas plus que la preflight ne contient d'`Access-Control-Allow-Headers` correspondant) qui permettrait au navigateur d'accéder à sa valeur et poursuivre.
Ceci est configurable par OVH dans l'instance OpenStack :
https://docs.openstack.org/keystone/pike/configuration/samples/keystone-conf.html en changeant la valeur de "expose_headers" (dans la section [cors]).
Où si les sysadmins d'OVH utilisent Ansible (https://docs.openstack.org/openstack-ansible-os_keystone/queens/) il est est indiqué d'utiliser `keystone_extra_headers`.
Note : J'ai tenté d'utiliser wrapper S3 (toujours pour ces usages "web" de nos containers) ce qui s'est soldé par un échec, le support répondant que S3 ne supportait tout simplement pas les CORS meta des containers contrairement à du Swift "natif". Le problème S3 avait été déclaré ici : https://bugs.launchpad.net/swift/+bug/1905104
Le présent problème n'étant relatif non à un bug ou une fonctionnalité manquante mais simplement à de la configuration Swift/keystone, on peut espérer que OVH soit en mesure de le résoudre.
Bref, il s'agit d'un changement simple et face au dédain du support, j'en appelle les autres personnes affectées à se joindre à ce post en espérant que OVH finisse par analyser cette demande et procède aux changement afin de débloquer l'utilisation des containers Swift vis-à-vis d'applications web.