Proto commits in cea-hpc/phobos

These 44 commits are when the Protocol Buffers files have changed:

Commit:dee2787
Author:Thomas Leibovici
Committer:Patrice LUCAS

metrology: implement protocol and calls to query TLC stats This patch adds: - a 'stat' query to the TLC protocol. - a phobos_admin calls to query TLC. - a stats call to the LDM prototype and its implementation for ldm_lib_scsi. - a basic test of phobos_admin_stats_tlc(). Change-Id: I40064dfdde241b05d4ec0c3f4e6be55a131846bd Signed-off-by: Thomas Leibovici <thomas.leibovici@cea.fr>

The documentation is generated from this commit.

Commit:4d91ecf
Author:Thomas Leibovici
Committer:Gauthier EVRAERD

metrology: add STAT call to the LRS protocol Add Stat call to the protocol and the admin API. For now the LRS just responds with a dummy "hello=world" JSON. Add related test in tests/externs/api. Change-Id: I5c10c699bbfc55f9c560d1d72be96713ac187d40 Signed-off-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:14642da
Author:Patrice LUCAS
Committer:Patrice LUCAS

lrs_sched: ordered grouped read The grouped read scheduler is now able to order the request by following their COS and priority, ie: the ctime of the corresponding copy. This patch integrates the github pull request #55. Change-Id: I362785693fd685f08330f699ecd2db8f0d1f25a1 Signed-off-by: Patrice LUCAS <patrice.lucas@ayudata.fr>

Commit:1368638
Author:Patrice LUCAS
Committer:Patrice LUCAS

proto: add qos and priority to request These new qos and priority fields will offer scheduling opportunities. For example, we plan to implement an ordered grouped read scheduling based on object ctime. As two optional fields, their default values are 0. Change-Id: I9eeac03078f093198fc989e0a8e4c35621cbc2e1 Signed-off-by: Patrice LUCAS <patrice.lucas@ayudata.fr>

Commit:c3406a0
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

project: move core modules of phobos in core directory This new directory will be used as the root of the new core library, which aggregates core modules of phobos. Change-Id: I3db5f6bdb7666994e19f46cb7257e5796ecf84bf Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/14853 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:5f54c08
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

project: remove proto directory Having both proto and serializer separated is not really motivated, and imply file movements. Also, merge serializer libraries. Change-Id: I95df9a8f99b3b8346b749a4f4aa6abc25064833d Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/14852 Reviewed-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:1efbbcf
Author:Patrice LUCAS
Committer:Patrice LUCAS

proto: manage read or write release/error To steer release and error requests in copier, we need to know if these requests go to reader or writer. Change-Id: Id64928e890c7912542b1d97383bd15bd83fc028c Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/14567 Reviewed-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:e87ced8
Author:Patrice LUCAS
Committer:Patrice LUCAS

lrs: automatic provisioning of a new grouping medium If the LRS receives a write allocation request with a grouping and there is no medium with this grouping available, the LRS answers a medium without this grouping and the grouping will be added at the next first sync on it. Change-Id: I532e0e9ef1a5c376c830a44943dbf3a8f0eb344e Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/14088 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Gauthier Evraerd <gauthier.evraerd@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:e63dfb4
Author:Gauthier EVRAERD
Committer:Gauthier Evraerd

proto & lrs: add a boolean to the release request to do only a sync This patch adds a new boolean "partial" to the release request to know if we need to do only a sync of the medium or a normal release. The value 'ld_needs_sync' is set to true when receiving a partial release request to avoid waiting until the threshold are exceeded. Change-Id: I59bf38699a3ec6641deef1f2096df4143366be30 Signed-off-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13939 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:c8ce2f5
Author:Gauthier EVRAERD
Committer:Gauthier Evraerd

proto & lrs: add sync threshold to write response alloc This patch adds the threshold for medium synchronization in the write response alloc of the lrs. These threshold will allow the client to know whether a sync is needed while writing. Change-Id: I9a25831de8ded57653e8da802faf3ffee5b70e1c Signed-off-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13938 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:e168e20
Author:Patrice LUCAS
Committer:Patrice LUCAS

lrs: add grouping to write allocation request We add the grouping to the write allocation request. Change-Id: Iddf79b439e31cca7a7c699b75f0fa8c7fabf003b Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/14070 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Gauthier Evraerd <gauthier.evraerd@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:b9fca1b
Author:Gauthier EVRAERD
Committer:Gauthier Evraerd

proto & lrs: add no-split option to proto This patch adds the no-split option to the proto of write request. If this option is true, all the data of the request should be written on the same medium. Also, the LRS handle now the option no-split. If there is no medium of the size required, the LRS return an error to the client. Change-Id: I6bb3751d0762abf4b222207fad27d3a93dae1b89 Signed-off-by: Gauthier EVRAERD <gauthier.evraerd@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13915 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:ce0dc50
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

proto: add operation to read allocation request A new field is added to the read allocation request protocol to allow multiple kind of operations to be managed by the scheduler. It will be useful for the HSM mechanism and the deletion of objects, to also consider delete requests. Both read and delete requests are consider as one kind of requests by the scheduler as they both directly targets media. Change-Id: I0b7f8a9c3bebc9658c59d72cd9e6792526e746fc Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13673 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Gauthier Evraerd <gauthier.evraerd@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:bb141ec
Author:Patrice LUCAS
Committer:Patrice LUCAS

cli, store, lrs: first medium selection per library on put This patch adds the ability to set the targeted library of a put request. This library is only taken into account when selecting a new medium. Following patchs will use this parameter also for existing drives with loaded media. Change-Id: If8aecaa5eaadcda45110422295ef9cfe0363e011 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13570 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:ad69f01
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

proto/lrs: add nb_extents_written to release request Until now, the number of extents written per release request was assumed to be 1. With the repack operation, the write allocation may be requested for multiple extents. Now, this number is sent to the LRS and tape stats are updated accordingly. A check for the tape stats during the repack operation is added in tests. Change-Id: Ibf250066ac1dfada212acca986ca5ee5d470a99e Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13291 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:1171fb3
Author:Patrice LUCAS
Committer:Patrice LUCAS

DSS: adding library columns These columns will allow us to manage a multi-library configuration. Library is added to device, media and extent tables. Name column is no more UNIQUE as we consider we can have media with the same label in two different libraries. The library column must have a value. The phobos configuration file must contain the default value per family : tape, dir, rados pool. The library is added to the pho_id structure. The grouped_read queue key changes from medium name to complete medium_id. The lrs media cache functions to hash and test equality are mutualized with grouped read to take into account the whole pho_id structure and not only the field name. Change-Id: I9a4efa5e06c1b4eabca6c9fec73d008901892d43 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13207 Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Gauthier Evraerd <gauthier.evraerd.ocre@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:8be553d
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

lrs: avoid already allocated drive selection In case a client try to allocate a second drive but there is only one available, the scheduler will consider the first drive as selectable and wait for its release, which provokes a deadlock. Now, a drive allocated by the same client cannot be considered selectable if both are needed for the same operation. A boolean is also added to the communication protocol with the LRS to distinguish client which requests multiple allocations for one operation (repack) or for multiple operations (mput). The boolean `prevent_duplicate` will be set to `true` if allocations are bound to the same operation and `false` otherwise. Change-Id: Ife728cefea7ceac6c46f0669179a12ad43ff812a Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/13235 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:e5c8f90
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

proto: add `empty_medium` boolean to write alloc request This boolean allows one to request an empty medium from the LRS. It will be useful for the repack operation, where we want to copy all alive objects on a single empty medium. Change-Id: I138793c844df3d0f976a01d3015c763e56d64e83 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12681 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Vincent CASTELLAN <vincent.castellan.ocre@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:43991f6
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: fix lib scan refresh We always set the refresh option of the status message so the field could be required instead of optional. In addition, the optional "refresh" field without "has_refresh" to true was previously absent from the request and ignored by the TLC. Change-Id: I0165b23561cca161d8551e90ae1d3edb0af5b4f4 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12880 Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:a2ee303
Author:Courrier Guillaume
Committer:Guillaume Courrier

admin: implement the core logic of admin media notifications Implementation of phobos_admin_notify_medium_update. The client will not send the notify request to the LRS yet. Change-Id: Idaf1b75342c4173ce9156a16af80f4f9b2b1c178 Signed-off-by: Courrier Guillaume <guillaume.courrier@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12749 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:ad4510c
Author:Patrice LUCAS
Committer:Patrice LUCAS

ldm, tlc: rename "reload" to "refresh" and add it to ldm TLC reload operation and option deal with the tape library status cache and not with a tape that one wants to unload and load again into a drive. This patch replaces "reload" by "refresh" to avoid any ambiguity between tape movement and tape library status cache update. This patch adds the refresh action to ldm API. We replace in admin API the direct request to tlc to refresh it by the new ldm call. Change-Id: Ie88631ac0c18dc0f808b680bc7b8c4fc170982eb Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12766 Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:7c8c8da
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: add the reload command The command is added to the TLC, the TLC protocol, the admin API and the CLI. This patch also adds the management of the --reload option of the status command. Change-Id: Ica0ca7612e97107edc9a259c2fdb3267fb1103fb Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12466 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>

Commit:ffd4445
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: add the status command The command is added to the TLC, the TLC protocol, the admin API and the CLI. The option reload is non-effective in this patch and will be taken into account in an upcoming patch. Change-Id: Ic60bed067b69aad4971b01b98a7573db0774d206 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12450 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr>

Commit:a2a4324
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: add the unload command The command is added to the TLC, the TLC protocol, the admin API and the CLI. Change-Id: I89e3459b451a6b93686c31e90eb496eb02ed8d19 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12426 Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:1e3b0e8
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: add load command The command is added to the TLC, the TLC protocol, the admin API and the CLI. Change-Id: I15406bc3141406ea48a6b23dad8e9c091d32b871 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12218 Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:f26e6d3
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: add drive_lookup This patch add the drive_lookup to the tlc, to the admin API and to the cli. Change-Id: I44f3c5c32f329463546bdfe3c7b528799d30ac02 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12184 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr>

Commit:55c0251
Author:Patrice LUCAS
Committer:Patrice LUCAS

db: rename db version 2.0 to 1.95 and remove DISK family We want to align db versions on phobos versions. DISK family was present in the design since the beginning but was never developped. Change-Id: Ibbd59bc48afb7069fe1e019f46adb0e77f5614c0 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/12086 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>

Commit:6164376
Author:Patrice LUCAS
Committer:Patrice LUCAS

tlc: ping request without lib ping Add the protobuf definition of a TLC ping request/response. Use this message to ping the TLC. The TLC still answers without any lib ping. The lib ping will be added in a next patch. Change-Id: I42a34b8bde841fdb56c9aa6744c57ddc4e94b4e3 Signed-off-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/11757 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>

Commit:20ca58a
Author:Courrier Guillaume
Committer:Guillaume Courrier

admin,lrs: add "phobos sched fair_share" command This command will enable an admin to dynamically update the fair_share configuration of the daemon so that these parameters can be changed depending on the current load of the system. This patch adds a function phobos_admin_sched_conf_set to the admin API. This function could be used in the future to update any parameter of the daemon. Change-Id: I30fb8b11e00174ff47b09e254a2dc03801320833 Signed-off-by: Courrier Guillaume <guillaume.courrier@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/11265 Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:38b31ef
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

admin: add option `--force` to `phobos tape format` The option allows one to format a tape whatever the status of its file system. The command does not modify the contents of object and layout tables in the database. The option will be added for other families when the format operation will erase the old contents of media. Change-Id: I393b064416b2e0c27c15481ea9277f0ed8b72496 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/11103 Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:5272ce7
Author:Aymeric KEYEWA
Committer:Yoann VALERI

lrs, cli: RADOS resources handling This patch adds the necessary changes for the LRS to handle properly RADOS LDM and I/O Adapters. Change-Id: Ie16aca7d0eedbf58db781759a5615a7c953a6b4e Signed-off-by: Aymeric KEYEWA <keyewaa@ocre.cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/10591 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>

Commit:9121da7
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

cli: change drive lock API One of the new behaviors of phobos daemon is to lock every drive it possesses, which makes the `phobos drive lock` command useless without the `--force` option. The new API will consider the old `--force` option as default, meaning that drives will be locked even if a daemon already uses it, and will instead offer to wait for the daemon acknowledgement or not. Change-Id: I0affed6caa65aeec5c7ce9bfc152c063de43b82b Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/10362 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:ab60083
Author:Courrier Guillaume
Committer:Guillaume Courrier

proto: add Monitor request and response types Change-Id: I4e709bd670718a924e866ae93c4d4d7fbe15f3bc Signed-off-by: Courrier Guillaume <guillaume.courrier@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/10122 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr>

Commit:5fbb93a
Author:Yoann Valeri
Committer:Yoann VALERI

phobos: update copyright dates Change-Id: I5229a7d130de96756225bc92ab8297f207ad9a93 Signed-off-by: Yoann Valeri <yoann.valeri@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/9815 Reviewed-by: Linter Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr>

Commit:ecac9c2
Author:Courrier Guillaume
Committer:Guillaume Courrier

proto,raid1: add to_sync flag Add to_sync flag in the Release request prototype. The raid1 layout sets this flag at true for a write and false for a read. Change-Id: Ia4010cdc363b1b689aefa26a88619747394fc26f Signed-off-by: Courrier Guillaume <guillaume.courrier@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/9504 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Linter Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr>

Commit:82d8c98
Author:Sebastien Gougeaud
Committer:Sebastien Gougeaud

fix: add mandatory syntax variable in proto file In newer versions of the protobuf library, the syntax variable must be set in protobuf files. Change-Id: Ib21a31db9d1234450d555eaaa15259c160392b47 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/9018 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr> Reviewed-by: Guillaume Courrier <guillaume.courrier@cea.fr>

Commit:ab0256b
Author:Guillaume COURRIER
Committer:Guillaume Courrier

cli: implementation of the ping feature Add the ping command to the CLI for admin users. Add the phobos_admin_ping() in the API which sends a request to the daemon to see if it is online. Add the capacity to respond to a ping request in the daemon. Change-Id: I213b5c40ae50574591f4c0a17a04df42cad53803 Signed-off-by: Guillaume COURRIER <guillaume.courrier@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/8405 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-by: Yoann VALERI <yoann.valeri@cea.fr>

Commit:0114052
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

refactor: move dss "drive add" code to the admin module Now that admin operations require to notify the daemon if it is online, we want to remove all dss-related code from the CLI to add it in the admin module and let the CLI only be a command line interpreter. Change-Id: I33cbbc50159b9dd21473124346851487566a2f0f Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/6795 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:0b4e6a6
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

phobosd: lock operation notification Addition of a notify-message operation to inform the daemon that a device has been locked. Change-Id: I5caa38921f5f14a59f59d6b7ae4abb55c304a688 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/6793 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr> Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>

Commit:0707ba2
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

phobosd: unlock operation notification Addition of a notify-message operation to inform the daemon that a device has been unlocked. If the device is not known by the daemon, it will be added to the daemon local database. Change-Id: Ic4a6f6210fbe2d017c9b4ab7b6b1d0df4ef7956e Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://gerrit.ccc.ocre.cea.fr/gerrit/c/phobos/+/6790 Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:e8f402f
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

phobosd: allow the utilization of multiple schedulers Until now, the daemon could only manage one family of resources (tape or directory) at a time. This family was defined using the PHOBOS_LRS_default_family env variable. Instead of setting only one scheduler, the daemon can now initialize a scheduler per family, depending on those requested using the PHOBOS_LRS_families env variable. Users can now indicate to which family they send their data using the PHOBOS_STORE_default_family env variable. This piece of information is now a part of the write alloc request protocol. Change-Id: I7851edddc8786b15e1df697d366834c4bf35b66f Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://cws-fleury.labs.ocre.cea.fr/gerrit/6547 Reviewed-by: Linter Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:c0b94f6
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

refactor: unify resource structures of protobuf headers Following the previous refactoring patches, now uniformizing the protocol data structures: from PhoDeviceType to PhoResourceFamily and from PhoMediumInfo to PhoResourceId. Change-Id: Iba644d8f2d350db773eb67038e49323a1682ca74 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://cws-fleury.labs.ocre.cea.fr/gerrit/6546 Reviewed-by: Linter Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr> Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:3c02b11
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

admin: new module to launch admin phobos commands (format, device_add) Because of LRS daemonization, a format or notify request needs to be sent to the LRS via the transfer protocol. Also, as they are not issued from user commands (format and device_add), they can not be a part of phobos_store. The phobos_admin module will be in charge to connect to the LRS socket and send the format/notify request to it. Before the daemonization is done, it will also intialize a temporary LRS to communicate with. The notify request is for now used to notify the LRS that a device was added to the DSS, and that it needs to load its state. This request can then be used to inform the LRS about various state changes: like lock, unlock, rm, etc. Change-Id: I6c217cb701e99236e09676b53a62adff3a5691ad Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://cws-fleury.labs.ocre.cea.fr/gerrit/5157 Reviewed-by: Linter Tested-by: Jenkins s8open_nr <s8open_nr@ccc.ocre.cea.fr> Reviewed-by: Patrice LUCAS <patrice.lucas@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>

Commit:26ab73b
Author:Sebastien Gougeaud
Committer:Thomas Leibovici

store/layout/lrs: add serialization in the message protocol Using protobuf-c, the requests and responses sent from/to the store and the lrs are now serialized in a char buffer and deserialized once received. The 'proto' directory contains the protobuf files which are compiled using the 'protoc-c' command at the start of phobos compilation. The 'serializer' directory contains the protobuf structure helpers for: - allocation/deallocation - packing/unpacking Change-Id: I30979ebc073944677e0382323978e81762b57a68 Signed-off-by: Sebastien Gougeaud <sebastien.gougeaud@cea.fr> Reviewed-on: https://cws-fleury.labs.ocre.cea.fr/gerrit/5096 Reviewed-by: Florent Monjalet <florent.monjalet@cea.fr> Tested-by: Florent Monjalet <florent.monjalet@cea.fr> Reviewed-by: Thomas Leibovici <thomas.leibovici@cea.fr>