[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