1a49a3f79SGaurav Gandhi# Format of Config file 2a49a3f79SGaurav Gandhi 3*166b4f19SManojkiran EdaThis document gives details about the format of the config file used by log, 4db45fd46SPatrick Williamsversion and firmware handler. The config file is a .json file. 5a49a3f79SGaurav Gandhi 6a49a3f79SGaurav Gandhi### Parameters 7a49a3f79SGaurav Gandhi 8a49a3f79SGaurav GandhiThere are 3 important parameters in this config file 9db45fd46SPatrick Williams 10a49a3f79SGaurav Gandhi1. blob 11a49a3f79SGaurav Gandhi2. handler 12a49a3f79SGaurav Gandhi3. actions 13a49a3f79SGaurav Gandhi 14a49a3f79SGaurav GandhiAn example config file - 15a49a3f79SGaurav Gandhi 16a49a3f79SGaurav Gandhi``` 17a49a3f79SGaurav Gandhi{ 18a49a3f79SGaurav Gandhi "blob": "/flash/adm1266_sink0", 19a49a3f79SGaurav Gandhi "handler": { 20a49a3f79SGaurav Gandhi "type": "file", 21a49a3f79SGaurav Gandhi "path": "/var/run/adm1266/adm1266_sink0.hex" 22a49a3f79SGaurav Gandhi }, 23a49a3f79SGaurav Gandhi "actions": { 24a49a3f79SGaurav Gandhi "preparation": { 25a49a3f79SGaurav Gandhi "type": "skip" 26a49a3f79SGaurav Gandhi }, 27a49a3f79SGaurav Gandhi "verification": { 28a49a3f79SGaurav Gandhi "type": "systemd", 29a49a3f79SGaurav Gandhi "unit": "adm1266-verify@sink0.service" 30a49a3f79SGaurav Gandhi }, 31a49a3f79SGaurav Gandhi "update": { 32a49a3f79SGaurav Gandhi "type": "systemd", 33a49a3f79SGaurav Gandhi "unit": "adm1266-update@sink0.service" 34a49a3f79SGaurav Gandhi } 35a49a3f79SGaurav Gandhi } 36a49a3f79SGaurav Gandhi} 37a49a3f79SGaurav Gandhi``` 38a49a3f79SGaurav Gandhi 39a49a3f79SGaurav Gandhi#### blob 40db45fd46SPatrick Williams 41db45fd46SPatrick WilliamsThis parameter defines the unique name of the blob. This parameter must be 42db45fd46SPatrick Williamsdefined for each blob. 43a49a3f79SGaurav Gandhi 44a49a3f79SGaurav Gandhi#### handler 45db45fd46SPatrick Williams 46db45fd46SPatrick WilliamsA blob must have a handler with a type. Currently only "file" type is supported. 47db45fd46SPatrick WilliamsWith file type, a path of the handler file must be provided. 48a49a3f79SGaurav Gandhi 49a49a3f79SGaurav Gandhi#### actions 50db45fd46SPatrick Williams 51db45fd46SPatrick Williams"actions" define various steps to be performed and are required for each blob. 52db45fd46SPatrick WilliamsThese actions can be triggered from ipmi-blob commands. Currently there are 2 53db45fd46SPatrick Williamstypes of actions supported: `systemd` to invoke a systemd service, or `skip` to 54db45fd46SPatrick Williamsnot perform any action. 55a49a3f79SGaurav Gandhi 56a49a3f79SGaurav Gandhi### Workflow of log handler 57a49a3f79SGaurav Gandhi 58a49a3f79SGaurav Gandhi``` 59a49a3f79SGaurav Gandhi{ 60a49a3f79SGaurav Gandhi "blob": "/log/blackbox_adm1266_sink0", 61a49a3f79SGaurav Gandhi "handler": { 62a49a3f79SGaurav Gandhi "type": "file", 63a49a3f79SGaurav Gandhi "path": "/var/run/adm1266/adm1266_sink0.log" 64a49a3f79SGaurav Gandhi }, 65a49a3f79SGaurav Gandhi "actions":{ 66a49a3f79SGaurav Gandhi "open": { 67a49a3f79SGaurav Gandhi "type": "systemd", 68a49a3f79SGaurav Gandhi "unit": "adm1266-read-blackbox-log@sink0.service" 69a49a3f79SGaurav Gandhi }, 70a49a3f79SGaurav Gandhi "delete": { 71a49a3f79SGaurav Gandhi "type": "systemd", 72a49a3f79SGaurav Gandhi "unit": "adm1266-clear-blackbox-data@sink0.service" 73a49a3f79SGaurav Gandhi } 74a49a3f79SGaurav Gandhi } 75a49a3f79SGaurav Gandhi} 76a49a3f79SGaurav Gandhi``` 77a49a3f79SGaurav Gandhi 78db45fd46SPatrick WilliamsIn this example the blob handler is the log file that will store the blackbox 79db45fd46SPatrick Williamsdata from adm1266 and will be returned on BmcBlobRead. 80a49a3f79SGaurav Gandhi 81db45fd46SPatrick WilliamsHere log_blob supports 2 actions. These actions are performed on the handler 82db45fd46SPatrick Williamsfile. 83a49a3f79SGaurav Gandhi 84db45fd46SPatrick Williams1. `open` : adm1266-read-blackbox-log@sink0.service gets launched on BmcBlobOpen 85db45fd46SPatrick Williams command. This service should read the blackbox data from adm1266 and place 86db45fd46SPatrick Williams the into blob handler file. This also enables BmcBlobSessionStat command to 87db45fd46SPatrick Williams indicate that the blob is ready to read. 88a49a3f79SGaurav Gandhi 89db45fd46SPatrick Williams2. `delete` : adm1266-clear-blackbox-data@sink0.service gets launched on 90db45fd46SPatrick Williams BmcBlobDelete command. This service should delete the cached blackbox data in 91db45fd46SPatrick Williams the handler file and erase the blackbox data from adm1266. 92