Source de réplication et commandes de package.
|
Répertorie toutes les sources de réplication disponibles.
Exemple de demande :
GET /api/storage/v1/replication/sources HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Exemple de sortie :
HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529
{
"sources": [{
"asn": "314d252e-c42b-e844-dab1-a3bca680b563",
"href": "/api/storage/v1/replication/sources/zfssa-repl-host",
"ip_address": "10.80.231.58:216",
"name": "zfssa-repl-host",
"source": "source-000"
}]
}
Répertorie tous les packages de réplication à partir de la source de réplication spécifiée.
Exemple de demande :
GET /api/storage/v1/replication/sources/zfssa-repl/packages HTTP/1.1 Host: zfs-storage.example.com Accept: application/json
Exemple de résultat :
HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 529
{
"packages": [{
"enabled": true,
"href": "/api/v1/storage/replication/sources/zfssa-repl/packages/package-008",
"id": "b2d8b35a-a5a0-6c74-f7e9-b75c357e841f",
"last_result": "unknown",
"last_sync": "unknown",
"last_try": "unknown",
"state": "idle",
"state_description": "Idle (no update in progress)"
}, {
"enabled": true,
"href": "/api/storage/v1/replication/sources/zfssa-repl/packages/package-009",
"id": "2643a0eb-648d-6ad7-d405-b690d06f6cf6",
"last_result": "success",
"last_sync": "Wed Jul 31 2013 21:58:02 GMT+0000 (UTC)",
"last_try": "Wed Jul 31 2013 21:58:02 GMT+0000 (UTC)",
"state": "idle",
"state_description": "Idle (no update in progress)",
"project": "gold/nas-rr-2643a0eb-648d-6ad7-d405-b690d06f6cf6/default",
}
]}
Modifie les propriétés du package.
|
Exemple de demande :
PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json
{"enabled": false}
Exemple de résultat :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0
Exemple de demande :
PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/pkgreverse HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Content-Type: application/json
{"new_project_name":"restrev", "enable_action_upon_reversal":"true"}
Exemple de résultat :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0
Détruit un package de réplication.
Exemple de demande :
DELETE /api/storage/v1/replication/sources/zfssa-repl/packages
/8373d331-de60-e590-90e8-9ad69fcb4aec HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Une suppression réussie renvoie le code HTTP 204 (No Content).
Exemple de réponse :
HTTP/1.1 204 No-Content X-Zfssa-Replication-Api: 1.0
Annule une mise à jour en cours pour ce package.
Exemple de demande :
PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/cancelupdate HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Si aucune mise à jour n'est en cours, un statut HTTP 409 (Conflict) est renvoyé.
Exemple de réponse :
HTTP/1.1 409 Conflict
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 137
{
"cancelupdate": {
"AKSH_ERROR": "EAK_NAS_REPL_BADSTATE",
"message": "operation illegal for state"
}
}
Exemple de réponse :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0
Clone le projet de package.
Exemple de demande :
PUT /api/v1/storage/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/clone HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Exemple de réponse :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0
Un clone obtenu avec succès renvoie le code de statut HTTP 202 (Accepted). Une commande d'aide peut être utilisée pour déterminer la présence de conflits avec l'opération de clonage.
Exemple de demande de conflit de clonage :
GET /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/clone/conflicts HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
Renvois de conflits de clonage :
HTTP/1.1 200 OK
X-Zfssa-Replication-Api: 1.0
Content-Type: application/json
Content-Length: 58
{
"conflicts": "There are no conflicts.\n"
}
Propriétés :
Default settings:
target_project = (unset)
original_mountpoint = /export
override_mountpoint = false
mountpoint =
Dissocie une connexion de réplication et déplace le contenu du package dans un nouveau projet. Cette action dissocie de manière permanente ce package et ses partages répliqués du système source, créant ainsi des projets locaux sur ce système. Les mises à jour de réplication ultérieures nécessitent la définition de nouvelles actions et l'envoi d'une mise à jour complète, quelle que soit la direction de ces mises à jour.
Exemple de demande :
PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/sever HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
{"projname":"restsev"}
Réponse obtenue avec succès :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0
Inverse le sens de la réplication. Cette action désactive la réplication pour ce package et déplace le contenu de ce package dans un nouveau projet local configuré pour effectuer une réplication vers la source. Toutes les modifications des métadonnées ou des données apportées à la source depuis la dernière mise à jour réussie sont perdues lorsque le nouveau projet est répliqué pour la première fois vers la source.
Exemple de demande :
PUT /api/storage/v1/replication/sources/zfssa-repl/packages/
8373d331-de60-e590-90e8-9ad69fcb4aec/reverse HTTP/1.1
Host: zfs-storage.example.com
Authorization: Basic ab6rt4psMWE=
{"projname":"restrev"}
Réponse obtenue avec succès :
HTTP/1.1 202 Accepted X-Zfssa-Replication-Api: 1.0