[Tendrl-devel] Flow for forming journal mapping
Shubhendu Tripathi
shtripat at redhat.com
Fri Apr 7 05:14:46 UTC 2017
Another thought, if we dont want go ahead with this flow, the Tendrl API
layer need to implement this logic as a GET.
Regards,
Shubhendu
On 04/07/2017 10:32 AM, Shubhendu Tripathi wrote:
> Hi Team,
>
> Before I go ahead and create a specification for this, I have few
> clarifications/questions to be answered.
> It goes as below....
>
> For any flow/work to be executed from API which makes a call to
> node-agent or {ceph/gluster}-integration is using a job creation in
> etcd which is picked by backend and output is written back to etcd.
> Once job is complete, API layer looks for the data in appropriate
> directory in etcd for the output and moves ahead.
>
> Now in the below case where we need to generate journal mapping for
> OSDs based on disks/devices provided for nodes, should we go with same
> above way and write the job output in some temporary location say
> `/_tmp/{integration_id}/journal_mapping` as dictionary?
>
> At this moment I cant think any other way to achieve this if the logic
> for generating the mapping to be maintained within node-agent's ceph
> provisioner.
>
> Kindly provide your thoughts/suggestions in this thread.
>
> Thanks and Regards,
> Shubhendu
>
>
>
> On 04/06/2017 10:10 PM, Shubhendu Tripathi wrote:
>> Below looks like input and output structure for journal mapping flow -
>>
>> ==============================================
>> The input structure for the flow is as below -
>>
>> {
>> "node_configuration": {
>> "node_id_1": {
>> "storage_disks": [{"device": "/dev/vdb", "size": bytes,
>> "ssd": true }, {"device": "/dev/vdc", "size": bytes, "ssd": false}, ...]
>> },
>> "node_id_2": {
>> "storage_disks": [{"device": "/dev/vdb", "size": bytes,
>> "ssd": true }, {"device": "/dev/vdc", "size": bytes, "ssd": false}, ...]
>> }, .....
>> }
>> }
>>
>>
>> The output structure from the flow would be as below
>>
>> {
>> "node_id_1": {
>> "storage_disks": [{"device": "/dev/vdb", "journal":
>> "/dev/vdc" }, {"device": "/dev/vdd", "journal": "/dev/vde"}, ...],
>> "unallocated_disks": ["/dev/vdf", "/dev/vdg"]
>> },
>> "node_id_2": {
>> "storage_disks": [{"device": "/dev/vdb", "journal":
>> "/dev/vdc" }, {"device": "/dev/vdd", "journal": "/dev/vde"}, ...],
>> "unallocated_disks": ["/dev/vdf", "/dev/vdg"]
>> }, ...
>> }
>>
>> ===================================================
>>
>> Let me know if something missed out in this.
>>
>> Regards,
>> Shubhendu
>
More information about the Tendrl-devel
mailing list