Skip to content

Problème de gestion des partages SMB dans une zone personnalisée via SDK Python et API REST #84

@TayChak

Description

@TayChak

Bonjour,

Je rencontre un problème lors de la création, la consultation et la suppression de partages SMB sur mon cluster OneFS, en utilisant le SDK Python Isilon (version 9.7.0) ainsi que l’API REST.

Description du problème :

  • La création d’un partage SMB en spécifiant une zone personnalisée (zone="Test") réussit, et l’API retourne bien le partage créé.
  • En revanche, lorsque je tente de supprimer ce même partage en précisant la même zone (zone="Test"), la suppression échoue avec une erreur 404 (Not Found).
  • De plus, la commande CLI isi smb shares list --zone=Test n’affiche pas le partage créé via SDK ou API REST, alors que ce dernier est bien visible via la méthode SDK list_smb_shares(zone="Test").

Environnement :

  • Version OneFS : [ 9.7.1.4]
  • SDK Python Isilon : v9_7_0
  • Langage : Python 3.10.12

Exemple de code utilisé :

configuration = isilon_sdk.v9_7_0.Configuration()
configuration.host = 'https://cluster:8080'
configuration.username = 'user'
configuration.password = 'pass'
configuration.verify_ssl = False

api_client = isilon_sdk.v9_7_0.ApiClient(configuration)
api_instance = isilon_sdk.v9_7_0.ProtocolsApi(api_client)

smb_share = isilon_sdk.v9_7_0.SmbShareCreateParams(
    name="testshare",
    path="/ifs/data/testshare",
    create_path=True
)
api_instance.create_smb_share(smb_share, zone="Test")

api_instance.delete_smb_share("testshare", zone="Test")

api_instance.list_smb_shares( zone="Test")

même en utilisant directement l'api via Curl

curl -k -X POST "https://cluster:8080/platform/12/protocols/smb/shares?zone=Test" -H "Authorization: Basic token" -d '{"name": "testsmbapi", "path": "/ifs/data/testsmbapi", "description": "Partage créé via API REST", "create_path": true}'

Comportement attendu :

Le partage créé dans la zone Test doit pouvoir être listé avec isi smb shares list --zone=Test.
La suppression du partage dans la zone Test doit fonctionner sans erreur.

Suppression du partage SMB : testshare dans la zone : Test
[] Erreur lors de la suppression du partage testshare : (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Date': 'May 2025 13:28:57 GMT', 'Server': 'Apache', 'Allow': 'GET, PUT, DELETE, HEAD', 'X-Frame-Options': 'sameorigin', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Strict-Transport-Security': 'max-age=31536000;', 'Content-Security-Policy': "default-src 'self' 'unsafe-inline' 'unsafe-eval' data:; script-src 'self' 'unsafe-eval'; style-src 'unsafe-inline' 'self'; ", 'Transfer-Encoding': 'chunked', 'Content-Type': 'application/json'})
HTTP response body: 
{
"errors" : 
[

{
"code" : "AEC_NOT_FOUND",
"message" : "Share(s) do(es) not exist: No such file or directory"
}
]
}

Lorsque j’exécute la commande suivante pour afficher les détails d’un partage dans la zone Test :

isi smb shares view "testshare" --zone=Test

je reçois le message d’erreur :

share(s) do(es) not exist : No such file or directory

Cependant, si je liste les partages dans cette même zone avec la commande :

isi smb shares list --zone=Test

le partage testshare apparaît bien dans la liste.

Ce comportement est incohérent car le partage existe et est visible dans la liste, mais impossible d’en consulter les détails.

Demande :

Pourriez-vous me confirmer si ce comportement est un bug connu, ou s’il existe une spécificité dans la gestion des zones personnalisées via le SDK Python ou l’API REST ?
Je souhaiterais également connaître la procédure recommandée pour manipuler correctement les partages SMB dans des zones autres que system.

Je vous remercie par avance pour votre aide

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions