)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"58e74fcd75b226e52f3bd5fd44148a4a7e9da295","unresolved":false,"context_lines":[{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to v.1.0.0., newer versions"},{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than v.1.0.0 now."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f7c97a3_6b7098db","line":14,"updated":"2018-06-06 19:47:38.000000000","message":"There are lots of schema versions in Redfish. To avoid confusion it is best to use namespace qualified versions. In this case, I think you are talking about namespace \"Settings.v1_0_0\".","commit_id":"ef1f81594f5f73f1406ac76ffc78c57f2c326c51"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"400d65df92e06c92f555000aee3207689df6c3c7","unresolved":false,"context_lines":[{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to v.1.0.0., newer versions"},{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than v.1.0.0 now."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f7c97a3_03721f7d","line":14,"in_reply_to":"5f7c97a3_6b7098db","updated":"2018-06-07 09:20:28.000000000","message":"updated to use \"Settings.v1_0_0\"","commit_id":"ef1f81594f5f73f1406ac76ffc78c57f2c326c51"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"58e74fcd75b226e52f3bd5fd44148a4a7e9da295","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as part"},{"line_number":23,"context_line":"of BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f7c97a3_6b07381f","line":22,"updated":"2018-06-06 19:47:38.000000000","message":"FYI: The @Redfish annotation names (including @Redfish.Settings) are defined in the RedfishExtensions_v1.xml schema.","commit_id":"ef1f81594f5f73f1406ac76ffc78c57f2c326c51"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"400d65df92e06c92f555000aee3207689df6c3c7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as part"},{"line_number":23,"context_line":"of BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5f7c97a3_c3198722","line":22,"in_reply_to":"5f7c97a3_6b07381f","updated":"2018-06-07 09:20:28.000000000","message":"in this case I meant that @Redfish.Settings do not appear as property in BIOS and other resource schemas. Updated the commit message to clarify this.","commit_id":"ef1f81594f5f73f1406ac76ffc78c57f2c326c51"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"SettingsField is a reusable field that corresponds to"},{"line_number":10,"context_line":"@Redfish.Settings in other resources."},{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to Settings.v1_0_0, newer versions"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_be6de62f","line":11,"range":{"start_line":11,"start_character":3,"end_line":11,"end_character":17},"updated":"2018-06-14 13:22:09.000000000","message":"nit: it *is* identified or *has been*","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"SettingsField is a reusable field that corresponds to"},{"line_number":10,"context_line":"@Redfish.Settings in other resources."},{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to Settings.v1_0_0, newer versions"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_323570dc","line":11,"range":{"start_line":11,"start_character":3,"end_line":11,"end_character":17},"in_reply_to":"5f7c97a3_be6de62f","updated":"2018-06-15 12:15:59.000000000","message":"added \u0027has been\u0027 and moved this below to address some other questions.","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to Settings.v1_0_0, newer versions"},{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than Settings.v1_0_0 now."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_1ecdfa2e","line":14,"range":{"start_line":14,"start_character":34,"end_line":14,"end_character":49},"updated":"2018-06-14 13:22:09.000000000","message":"nit: noun is missing. is it \u0027resource\u0027?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":11,"context_line":"So far identified that SettingsField can be used in BIOS,"},{"line_number":12,"context_line":"EthernetInterface and Storage resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This SettingsField corresponds to Settings.v1_0_0, newer versions"},{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than Settings.v1_0_0 now."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_b2eae00b","line":14,"range":{"start_line":14,"start_character":34,"end_line":14,"end_character":49},"in_reply_to":"5f7c97a3_1ecdfa2e","updated":"2018-06-15 12:15:59.000000000","message":"I added \u0027field schema\u0027.","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than Settings.v1_0_0 now."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"For testing in settings.json I improvise with values for Message,"},{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_3eb79687","line":18,"range":{"start_line":18,"start_character":1,"end_line":18,"end_character":11},"updated":"2018-06-14 13:22:09.000000000","message":"may be rephrase for clarity like: \u0027in the accompanying unit tests, the settings.json document contains imaginary values...\u0027?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":15,"context_line":"introduce additional fields that will be added later. Also at least"},{"line_number":16,"context_line":"iDRAC does not support anything newer than Settings.v1_0_0 now."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"For testing in settings.json I improvise with values for Message,"},{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_b238a09f","line":18,"range":{"start_line":18,"start_character":1,"end_line":18,"end_character":11},"in_reply_to":"5f7c97a3_3eb79687","updated":"2018-06-15 12:15:59.000000000","message":"updated","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_5e63721a","line":22,"range":{"start_line":22,"start_character":62,"end_line":22,"end_character":70},"updated":"2018-06-14 13:22:09.000000000","message":"*a* property","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_feacbe35","line":22,"range":{"start_line":22,"start_character":22,"end_line":22,"end_character":26},"updated":"2018-06-14 13:22:09.000000000","message":"*is*","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_de5f823e","line":22,"range":{"start_line":22,"start_character":62,"end_line":22,"end_character":70},"updated":"2018-06-14 13:22:09.000000000","message":"In other words it is documented in the schema as something else? Once it is present in the schema instance e.g. JSON document? The where exactly it shows up?\n\nI beg your pardon for possibly silly questions, it\u0027s just you are at this code thus things may be more obvious to you than to the uninitiated. ;-)","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_b2a2e0ac","line":22,"range":{"start_line":22,"start_character":62,"end_line":22,"end_character":70},"in_reply_to":"5f7c97a3_5e63721a","updated":"2018-06-15 12:15:59.000000000","message":"updated","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_b27ae0ed","line":22,"range":{"start_line":22,"start_character":62,"end_line":22,"end_character":70},"in_reply_to":"5f7c97a3_de5f823e","updated":"2018-06-15 12:15:59.000000000","message":"tried to clarify addressing these questions, see updates.","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Severity, MessageArgs and Resolution fields as could not find existing"},{"line_number":20,"context_line":"samples holding these fields."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Another thing to note that @Redfish.Settings do not appear as property"},{"line_number":23,"context_line":"in BIOS, EthernetInterface nor Storage schema, but it is visible in"},{"line_number":24,"context_line":"the samples of BIOS and EthernetInterface resources."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_922d64b0","line":22,"range":{"start_line":22,"start_character":22,"end_line":22,"end_character":26},"in_reply_to":"5f7c97a3_feacbe35","updated":"2018-06-15 12:15:59.000000000","message":"removed after rephrasing","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ib2ef3d6380975ec7b964ebb634575e2b86d51991"},{"line_number":27,"context_line":"Task: #19767"},{"line_number":28,"context_line":"Story: #2001791"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_de2462c8","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":8},"updated":"2018-06-14 13:22:09.000000000","message":"nit: it seems that hash is not required for Stories and Tasks","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ib2ef3d6380975ec7b964ebb634575e2b86d51991"},{"line_number":27,"context_line":"Task: #19767"},{"line_number":28,"context_line":"Story: #2001791"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_f227f8c6","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":8},"in_reply_to":"5f7c97a3_de2462c8","updated":"2018-06-15 12:15:59.000000000","message":"removed","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95f64adc360ca384b30bf7a907b8e768c94bbf71","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@Redfish.Settings is a special field (annotation) that does not appear"},{"line_number":27,"context_line":"as a property in any schemas of Redfish resources."},{"line_number":28,"context_line":"Theoretically it can be present in any resource."},{"line_number":29,"context_line":"Practically this field is added to resources that support future state"},{"line_number":30,"context_line":"of the resource where immediate application of updates is not possible"},{"line_number":31,"context_line":"and need to restart system or a service for the values to take effect."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"5f7c97a3_a3e0c2cd","line":28,"range":{"start_line":28,"start_character":17,"end_line":28,"end_character":47},"updated":"2018-06-22 14:03:19.000000000","message":"nit: should we explain what does it mean if the annotation is not present on the resource?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"423545cae9c416e44ebb11ad4236919ba8ae8b95","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@Redfish.Settings is a special field (annotation) that does not appear"},{"line_number":27,"context_line":"as a property in any schemas of Redfish resources."},{"line_number":28,"context_line":"Theoretically it can be present in any resource."},{"line_number":29,"context_line":"Practically this field is added to resources that support future state"},{"line_number":30,"context_line":"of the resource where immediate application of updates is not possible"},{"line_number":31,"context_line":"and need to restart system or a service for the values to take effect."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"5f7c97a3_2a5b0c54","line":28,"range":{"start_line":28,"start_character":17,"end_line":28,"end_character":47},"in_reply_to":"5f7c97a3_a3e0c2cd","updated":"2018-06-25 08:03:32.000000000","message":"Added at the end.","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"}],"sushy/resources/settings.py":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"949ad45b52fe606fc64ed78756a42a606833d71d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class SettingsObjectField(base.CompositeField):"},{"line_number":20,"context_line":"    \"\"\"Reference to the resource for updating settings\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    resource_uri \u003d base.Field(\u0027@odata.id\u0027)"},{"line_number":23,"context_line":"    \"\"\"URI of the resource to which a client must do a PUT or PATCH"},{"line_number":24,"context_line":"    in order to modify this resource"},{"line_number":25,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_150bf923","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":42},"updated":"2018-05-28 10:22:36.000000000","message":"I started wondering if this is correct implementation. \nI think it should not be field with URI, but actual object loaded dynamically. I will look into this and update.","commit_id":"3bf97501ba30f94910a4e94920cea5ea6887ad47"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f314c874429636b012a18c22bab106464158df30","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \"\"\"Human readable message, if provided\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    severity \u003d base.Field(\u0027Severity\u0027)"},{"line_number":33,"context_line":"    \"\"\"Severity of the errors\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    resolution \u003d base.Field(\u0027Resolution\u0027)"},{"line_number":36,"context_line":"    \"\"\"Used to provide suggestions on how to resolve"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_9d99cbd1","line":33,"updated":"2018-06-06 09:02:32.000000000","message":"nit: \"error\" (this is one of the errors, right?","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"e5c25cfd1c343d78e341a600e41ee177c20f29ec","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \"\"\"Human readable message, if provided\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    severity \u003d base.Field(\u0027Severity\u0027)"},{"line_number":33,"context_line":"    \"\"\"Severity of the errors\"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    resolution \u003d base.Field(\u0027Resolution\u0027)"},{"line_number":36,"context_line":"    \"\"\"Used to provide suggestions on how to resolve"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_0b9d6465","line":33,"in_reply_to":"5f7c97a3_9d99cbd1","updated":"2018-06-06 19:38:37.000000000","message":"yes, updated to \"error\"","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f314c874429636b012a18c22bab106464158df30","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    \"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    related_properties \u003d base.Field(\u0027RelatedProperties\u0027)"},{"line_number":41,"context_line":"    \"\"\"List of properties described by the message\"\"\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    message_args \u003d base.Field(\u0027MessageArgs\u0027)"},{"line_number":44,"context_line":"    \"\"\"List of message arguments are substituted for the arguments"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_bd9cc7bf","line":41,"updated":"2018-06-06 09:02:32.000000000","message":"I wonder if we should do some magic around this field.. Currently it will return schema-based values, that are not too useful for users of the Python library. Maybe we should hide this until we figure it out?","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"e5c25cfd1c343d78e341a600e41ee177c20f29ec","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    \"\"\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    related_properties \u003d base.Field(\u0027RelatedProperties\u0027)"},{"line_number":41,"context_line":"    \"\"\"List of properties described by the message\"\"\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    message_args \u003d base.Field(\u0027MessageArgs\u0027)"},{"line_number":44,"context_line":"    \"\"\"List of message arguments are substituted for the arguments"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_2b986073","line":41,"in_reply_to":"5f7c97a3_bd9cc7bf","updated":"2018-06-06 19:38:37.000000000","message":"the field is necessary otherwise users will not know the context of the message. \nMarking this field \"private\" so that users are aware that this in not public API and might change in future when proper solution is implemented.","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f314c874429636b012a18c22bab106464158df30","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self._resource \u003d resource"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @property"},{"line_number":91,"context_line":"    def settings_object(self):"},{"line_number":92,"context_line":"        \"\"\"Reference to the resource the client may PUT/PATCH"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        It is set once when the first time it is queried. On refresh,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_5da33301","line":91,"updated":"2018-06-06 09:02:32.000000000","message":"I still think we should hide this object from consumers. I suspect currently we\u0027ll end up with something like\n\n system.bios.settings().settings_object.set_attribute(\u0027foo\u0027, \u0027bar\u0027)\n\nThis is quite verbose. I think we should hide both settings() and settings_object here. As far as I understand the Redfish protocol (and I may be misunderstanding it), we will have attributes readable on system.bios itself (ditto for EthernetInterface in your new example), but writeable on the settings_object. Is it right? Then we can still achieve something like:\n\n prop \u003d system.bios.attributes[\u0027foo\u0027]\n system.bios.set_attribute(\u0027foo\u0027, \u0027bar\u0027)\n\nwhere the latter is implemented as\n\n def set_attribute(self, key, value):\n     self._settings().settings_object.set_attribute(key, value)\n\nFor EthernetInterfaces it may be\n\n def set_mac_address(self, mac):\n     self._settings().settings_object.set_mac_address(mac)\n\nWhat do you think?","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"e5c25cfd1c343d78e341a600e41ee177c20f29ec","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self._resource \u003d resource"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @property"},{"line_number":91,"context_line":"    def settings_object(self):"},{"line_number":92,"context_line":"        \"\"\"Reference to the resource the client may PUT/PATCH"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        It is set once when the first time it is queried. On refresh,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_aba0f043","line":91,"in_reply_to":"5f7c97a3_5da33301","updated":"2018-06-06 19:38:37.000000000","message":"removed this entirely from SettingsField class. \nAs discussed SettingsField will not fetch settings_object. Parent resource will load it. Parent resource also will hide the web service structure details.\nIn addition settings_object holds future settings and Parent resource will be responsible for exposing this to user as well. \n\nFor example for BIOS that would be:\n\nto get current value of attribute \u0027foo\u0027:\n\n system.bios.attributes[\u0027foo\u0027]\n\nto get future value of attribute \u0027foo\u0027:\n\n system.bios.future_attributes[\u0027foo\u0027] \n\nto update value of attribute \u0027foo\u0027\n\n system.bios.set_attribute(\u0027foo\u0027, \u0027bar\u0027)\n\nThis is proposed bios sushy api and together with implementation it will be part of bios patch (when updated) and in general other parent resources (nic, storage) will be responsible for exposing settings_object and patching behind it.","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f314c874429636b012a18c22bab106464158df30","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        if self._settings_object is None:"},{"line_number":100,"context_line":"            resource_class \u003d getattr("},{"line_number":101,"context_line":"                importlib.import_module(type(self._resource).__module__),"},{"line_number":102,"context_line":"                type(self._resource).__name__)"},{"line_number":103,"context_line":"            self._settings_object \u003d resource_class("},{"line_number":104,"context_line":"                self._resource._conn,"},{"line_number":105,"context_line":"                self._settings_object_idref.resource_uri,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_7da62f12","line":102,"updated":"2018-06-06 09:02:32.000000000","message":"it seems like you need to make self._resource a class, not an instance. See my comment on the tests","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"e5c25cfd1c343d78e341a600e41ee177c20f29ec","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        if self._settings_object is None:"},{"line_number":100,"context_line":"            resource_class \u003d getattr("},{"line_number":101,"context_line":"                importlib.import_module(type(self._resource).__module__),"},{"line_number":102,"context_line":"                type(self._resource).__name__)"},{"line_number":103,"context_line":"            self._settings_object \u003d resource_class("},{"line_number":104,"context_line":"                self._resource._conn,"},{"line_number":105,"context_line":"                self._settings_object_idref.resource_uri,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_eb64a823","line":102,"in_reply_to":"5f7c97a3_7da62f12","updated":"2018-06-06 19:38:37.000000000","message":"NA anymore as SettingsField will not fetch the object.","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from sushy.resources import common"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class MessageListField(base.ListField):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    message_id \u003d base.Field(\u0027MessageId\u0027)"},{"line_number":24,"context_line":"    \"\"\"The key for this message which can be used"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a172a710","line":21,"range":{"start_line":21,"start_character":6,"end_line":21,"end_character":22},"updated":"2018-06-14 13:22:09.000000000","message":"Does a docstring make sense here?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from sushy.resources import common"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class MessageListField(base.ListField):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    message_id \u003d base.Field(\u0027MessageId\u0027)"},{"line_number":24,"context_line":"    \"\"\"The key for this message which can be used"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_f7be0aad","line":21,"range":{"start_line":21,"start_character":6,"end_line":21,"end_character":22},"in_reply_to":"5f7c97a3_a172a710","updated":"2018-06-15 12:15:59.000000000","message":"added","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    \"\"\"List of properties described by the message\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    message_args \u003d base.Field(\u0027MessageArgs\u0027)"},{"line_number":43,"context_line":"    \"\"\"List of message arguments are substituted for the arguments"},{"line_number":44,"context_line":"    in the message when looked up in the message registry"},{"line_number":45,"context_line":"    \"\"\""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_817c4beb","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":36},"updated":"2018-06-14 13:22:09.000000000","message":"Something feels missing here, but I am not sure how to correct that. WDYT?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    \"\"\"List of properties described by the message\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    message_args \u003d base.Field(\u0027MessageArgs\u0027)"},{"line_number":43,"context_line":"    \"\"\"List of message arguments are substituted for the arguments"},{"line_number":44,"context_line":"    in the message when looked up in the message registry"},{"line_number":45,"context_line":"    \"\"\""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_179f0652","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":36},"in_reply_to":"5f7c97a3_817c4beb","updated":"2018-06-15 12:15:59.000000000","message":"true, rephrased","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    Represents the future state and configuration"},{"line_number":52,"context_line":"    of the resource. For resources that support a future state and"},{"line_number":53,"context_line":"    configuration, the response shall contain a property with the"},{"line_number":54,"context_line":"    \"@Redfish.Settings\" annotation."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    It includes several properties to help clients monitor when the"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a14b87ae","line":53,"range":{"start_line":53,"start_character":19,"end_line":53,"end_character":32},"updated":"2018-06-14 13:22:09.000000000","message":"This is a bit unclear to me - which response?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    Represents the future state and configuration"},{"line_number":52,"context_line":"    of the resource. For resources that support a future state and"},{"line_number":53,"context_line":"    configuration, the response shall contain a property with the"},{"line_number":54,"context_line":"    \"@Redfish.Settings\" annotation."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    It includes several properties to help clients monitor when the"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_770f5a88","line":53,"range":{"start_line":53,"start_character":19,"end_line":53,"end_character":32},"in_reply_to":"5f7c97a3_a14b87ae","updated":"2018-06-15 12:15:59.000000000","message":"rephrased","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    configuration, the response shall contain a property with the"},{"line_number":54,"context_line":"    \"@Redfish.Settings\" annotation."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    It includes several properties to help clients monitor when the"},{"line_number":57,"context_line":"    resource is consumed by the service and determine the results of"},{"line_number":58,"context_line":"    applying the values, which may or may not have been successful."},{"line_number":59,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_21cd372f","line":56,"range":{"start_line":56,"start_character":4,"end_line":56,"end_character":6},"updated":"2018-06-14 13:22:09.000000000","message":"May be replace *It* with a noun for clarity?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    configuration, the response shall contain a property with the"},{"line_number":54,"context_line":"    \"@Redfish.Settings\" annotation."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    It includes several properties to help clients monitor when the"},{"line_number":57,"context_line":"    resource is consumed by the service and determine the results of"},{"line_number":58,"context_line":"    applying the values, which may or may not have been successful."},{"line_number":59,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_97023672","line":56,"range":{"start_line":56,"start_character":4,"end_line":56,"end_character":6},"in_reply_to":"5f7c97a3_21cd372f","updated":"2018-06-15 12:15:59.000000000","message":"replaced with \u0027This field\u0027","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        super(SettingsField, self).__init__(path\u003d\"@Redfish.Settings\")"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    time \u003d base.Field(\u0027Time\u0027)"},{"line_number":65,"context_line":"    \"\"\"Indicates the time the settings were applied\"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    etag \u003d base.Field(\u0027ETag\u0027)"},{"line_number":68,"context_line":"    \"\"\"The ETag of the resource to which the settings were applied,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_21e697b1","line":65,"range":{"start_line":65,"start_character":44,"end_line":65,"end_character":51},"updated":"2018-06-14 13:22:09.000000000","message":"...applied at the server, not client?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        super(SettingsField, self).__init__(path\u003d\"@Redfish.Settings\")"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    time \u003d base.Field(\u0027Time\u0027)"},{"line_number":65,"context_line":"    \"\"\"Indicates the time the settings were applied\"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    etag \u003d base.Field(\u0027ETag\u0027)"},{"line_number":68,"context_line":"    \"\"\"The ETag of the resource to which the settings were applied,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_f7a4ca4d","line":65,"range":{"start_line":65,"start_character":44,"end_line":65,"end_character":51},"in_reply_to":"5f7c97a3_21e697b1","updated":"2018-06-15 12:15:59.000000000","message":"yes, added \"to the server\"","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    _settings_object_idref \u003d common.IdRefField(\"SettingsObject\")"},{"line_number":73,"context_line":"    \"\"\"Reference to the resource the client may PUT/PATCH to in order"},{"line_number":74,"context_line":"    to change this resource"},{"line_number":75,"context_line":"    \"\"\""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a1f9474e","line":73,"range":{"start_line":73,"start_character":58,"end_line":73,"end_character":60},"updated":"2018-06-14 13:22:09.000000000","message":"nit: may be *to* is excessive here?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    _settings_object_idref \u003d common.IdRefField(\"SettingsObject\")"},{"line_number":73,"context_line":"    \"\"\"Reference to the resource the client may PUT/PATCH to in order"},{"line_number":74,"context_line":"    to change this resource"},{"line_number":75,"context_line":"    \"\"\""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_f76fea25","line":73,"range":{"start_line":73,"start_character":58,"end_line":73,"end_character":60},"in_reply_to":"5f7c97a3_a1f9474e","updated":"2018-06-15 12:15:59.000000000","message":"removed","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    messages \u003d MessageListField(\"Messages\")"},{"line_number":78,"context_line":"    \"\"\"Represent the results of the last time the values of the Settings"},{"line_number":79,"context_line":"    resource were applied\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_e1b17f90","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":25},"updated":"2018-06-14 13:22:09.000000000","message":"This *applied* statement is what bothers me as a reader because so far I\u0027m on edge where exactly these settings are to be applied. I am guessing that it\u0027s server, not this object. So may be worth a clarification?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    messages \u003d MessageListField(\"Messages\")"},{"line_number":78,"context_line":"    \"\"\"Represent the results of the last time the values of the Settings"},{"line_number":79,"context_line":"    resource were applied\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_d7a74e50","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":25},"in_reply_to":"5f7c97a3_e1b17f90","updated":"2018-06-15 12:15:59.000000000","message":"the \"apply\" is term used by Redfish spec, it does not say explicitly but I understand that apply is when the values are \u0027submitted\u0027 to the server, not when Redfish client \u0027commits\u0027 them.\n\nAdded \"to the server\" for clarification.","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0319a6af7ef16fe3598b51943594152df3b74bea","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    etag \u003d base.Field(\u0027ETag\u0027)"},{"line_number":68,"context_line":"    \"\"\"The ETag of the resource to which the settings were applied,"},{"line_number":69,"context_line":"    after the application"},{"line_number":70,"context_line":"    \"\"\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    _settings_object_idref \u003d common.IdRefField(\"SettingsObject\")"},{"line_number":73,"context_line":"    \"\"\"Reference to the resource the client may PUT/PATCH in order"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_3b49ad8d","line":70,"updated":"2018-06-18 09:34:25.000000000","message":"I think we should not expose etag to user. Instead, we should pass it internally to the patch() call in set_settings (see below) to make sure we\u0027re not trying to update an outdated object.","commit_id":"6529bff8867edb5accdda805f7e908db638d5995"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0319a6af7ef16fe3598b51943594152df3b74bea","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    _settings_object_idref \u003d common.IdRefField(\"SettingsObject\")"},{"line_number":73,"context_line":"    \"\"\"Reference to the resource the client may PUT/PATCH in order"},{"line_number":74,"context_line":"    to change this resource"},{"line_number":75,"context_line":"    \"\"\""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    messages \u003d MessageListField(\"Messages\")"},{"line_number":78,"context_line":"    \"\"\"Represents the results of the last time the values of the Settings"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_5b4ee996","line":75,"updated":"2018-06-18 09:34:25.000000000","message":"I think we need set_settings here to avoid the owner object from accessing the private attribute. It should also use etag (see above).","commit_id":"6529bff8867edb5accdda805f7e908db638d5995"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"eadbc41c84b7878e72b796405f1d8be8104ff578","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    \"\"\"Represents the results of the last time the values of the Settings"},{"line_number":79,"context_line":"    resource were applied to the server\"\"\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def set_settings(self, connector, value, etag\u003dNone):"},{"line_number":82,"context_line":"        \"\"\"Commits new settings values"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        The new values will be applied when the system or a service"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_639c4e0e","line":81,"range":{"start_line":81,"start_character":8,"end_line":81,"end_character":20},"updated":"2018-06-18 19:34:25.000000000","message":"This is the method of the `SettingsField` class, `SettingsField.set_settings()` looks a bit redundant to me from wording perspective.\n\nMay be `commit` or `apply` would suffice?","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"520b7bdd68c1094bc9559cbfcec9116a85e49a3b","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    \"\"\"Represents the results of the last time the values of the Settings"},{"line_number":79,"context_line":"    resource were applied to the server\"\"\""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def set_settings(self, connector, value, etag\u003dNone):"},{"line_number":82,"context_line":"        \"\"\"Commits new settings values"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        The new values will be applied when the system or a service"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_112e048c","line":81,"range":{"start_line":81,"start_character":8,"end_line":81,"end_character":20},"in_reply_to":"5f7c97a3_639c4e0e","updated":"2018-06-18 20:20:18.000000000","message":"renamed to \u0027commit\u0027 as this the term we have started to use","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"eadbc41c84b7878e72b796405f1d8be8104ff578","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\"Commits new settings values"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        The new values will be applied when the system or a service"},{"line_number":85,"context_line":"        restarts - it depends on a resource and the system."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param connector: A Connector instance"},{"line_number":88,"context_line":"        :param value: Value represeting JSON whose structure is specific"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_e3e13e9d","line":85,"range":{"start_line":85,"start_character":19,"end_line":85,"end_character":29},"updated":"2018-06-18 19:34:25.000000000","message":"maybe rephrase? it\u0027s not crystal-clear to me (I may just need more coffee though)","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95e1a5de03ed3ed7df37b9c3d43074cfb73d559d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\"Commits new settings values"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        The new values will be applied when the system or a service"},{"line_number":85,"context_line":"        restarts - it depends on a resource and the system."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param connector: A Connector instance"},{"line_number":88,"context_line":"        :param value: Value represeting JSON whose structure is specific"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_9e0bcf20","line":85,"range":{"start_line":85,"start_character":19,"end_line":85,"end_character":29},"in_reply_to":"5f7c97a3_b1815050","updated":"2018-06-20 13:08:17.000000000","message":"Done","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"520b7bdd68c1094bc9559cbfcec9116a85e49a3b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \"\"\"Commits new settings values"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        The new values will be applied when the system or a service"},{"line_number":85,"context_line":"        restarts - it depends on a resource and the system."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param connector: A Connector instance"},{"line_number":88,"context_line":"        :param value: Value represeting JSON whose structure is specific"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_b1815050","line":85,"range":{"start_line":85,"start_character":19,"end_line":85,"end_character":29},"in_reply_to":"5f7c97a3_e3e13e9d","updated":"2018-06-18 20:20:18.000000000","message":"the idea was that for BIOS system reboot might be necessary to update the settings, while for Ethernet Interface restart of networking service would suffice without system reboot. As this Settings field is re-usable - cannot tell which will happen.\n\nDecided to remove this part, because Redfish client cannot affect/control this, so maybe it is not so important what happens behind the scenes on the server.","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"eadbc41c84b7878e72b796405f1d8be8104ff578","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        restarts - it depends on a resource and the system."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param connector: A Connector instance"},{"line_number":88,"context_line":"        :param value: Value represeting JSON whose structure is specific"},{"line_number":89,"context_line":"            to each resource and the caller must format it correctly"},{"line_number":90,"context_line":"        :param etag: Optional ETag of resource version to update. If"},{"line_number":91,"context_line":"            this ETag is provided and it does not match on server, then"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_835c0a7e","line":88,"range":{"start_line":88,"start_character":28,"end_line":88,"end_character":39},"updated":"2018-06-18 19:34:25.000000000","message":"typo","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"520b7bdd68c1094bc9559cbfcec9116a85e49a3b","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        restarts - it depends on a resource and the system."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param connector: A Connector instance"},{"line_number":88,"context_line":"        :param value: Value represeting JSON whose structure is specific"},{"line_number":89,"context_line":"            to each resource and the caller must format it correctly"},{"line_number":90,"context_line":"        :param etag: Optional ETag of resource version to update. If"},{"line_number":91,"context_line":"            this ETag is provided and it does not match on server, then"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_717bb87a","line":88,"range":{"start_line":88,"start_character":28,"end_line":88,"end_character":39},"in_reply_to":"5f7c97a3_835c0a7e","updated":"2018-06-18 20:20:18.000000000","message":"Done","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"eadbc41c84b7878e72b796405f1d8be8104ff578","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            this ETag is provided and it does not match on server, then"},{"line_number":92,"context_line":"            the new values will not be committed"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        headers \u003d None"},{"line_number":95,"context_line":"        if etag:"},{"line_number":96,"context_line":"            headers \u003d {\u0027If-Match\u0027: etag}"},{"line_number":97,"context_line":"        connector.patch(self._settings_object_idref.resource_uri,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_6359ae8c","line":94,"updated":"2018-06-18 19:34:25.000000000","message":"Would this look more pythonic?\n\n    headers \u003d {\u0027If-Match\u0027: etag} if etag else None","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"520b7bdd68c1094bc9559cbfcec9116a85e49a3b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            this ETag is provided and it does not match on server, then"},{"line_number":92,"context_line":"            the new values will not be committed"},{"line_number":93,"context_line":"        \"\"\""},{"line_number":94,"context_line":"        headers \u003d None"},{"line_number":95,"context_line":"        if etag:"},{"line_number":96,"context_line":"            headers \u003d {\u0027If-Match\u0027: etag}"},{"line_number":97,"context_line":"        connector.patch(self._settings_object_idref.resource_uri,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_917e9468","line":94,"in_reply_to":"5f7c97a3_6359ae8c","updated":"2018-06-18 20:20:18.000000000","message":"Done","commit_id":"5dcd1d266278ad176618ed86fcc0cc13182d0d77"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95f64adc360ca384b30bf7a907b8e768c94bbf71","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class MessageListField(base.ListField):"},{"line_number":22,"context_line":"    \"\"\"List of messages with details of settings update status\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    message_id \u003d base.Field(\u0027MessageId\u0027)"},{"line_number":25,"context_line":"    \"\"\"The key for this message which can be used"},{"line_number":26,"context_line":"    to look up the message in a message registry"},{"line_number":27,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_e3feba04","line":24,"range":{"start_line":24,"start_character":29,"end_line":24,"end_character":38},"updated":"2018-06-22 14:03:19.000000000","message":"Is it a required field?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"423545cae9c416e44ebb11ad4236919ba8ae8b95","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class MessageListField(base.ListField):"},{"line_number":22,"context_line":"    \"\"\"List of messages with details of settings update status\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    message_id \u003d base.Field(\u0027MessageId\u0027)"},{"line_number":25,"context_line":"    \"\"\"The key for this message which can be used"},{"line_number":26,"context_line":"    to look up the message in a message registry"},{"line_number":27,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_4503db0c","line":24,"range":{"start_line":24,"start_character":29,"end_line":24,"end_character":38},"in_reply_to":"5f7c97a3_e3feba04","updated":"2018-06-25 08:03:32.000000000","message":"yes, updated.","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"}],"sushy/resources/system/bios.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95f64adc360ca384b30bf7a907b8e768c94bbf71","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                self._conn,"},{"line_number":74,"context_line":"                self._settings.resource_uri,"},{"line_number":75,"context_line":"                redfish_version\u003dself.redfish_version)"},{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_3ecb691d","line":76,"range":{"start_line":76,"start_character":54,"end_line":76,"end_character":59},"updated":"2018-06-22 14:03:19.000000000","message":"With `force\u003dFalse`, will we ever notice any change to the attributes being returned by the server over time e.g. once the attributes are applied?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"423545cae9c416e44ebb11ad4236919ba8ae8b95","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                self._conn,"},{"line_number":74,"context_line":"                self._settings.resource_uri,"},{"line_number":75,"context_line":"                redfish_version\u003dself.redfish_version)"},{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_a5874f61","line":76,"range":{"start_line":76,"start_character":54,"end_line":76,"end_character":59},"in_reply_to":"5f7c97a3_3ecb691d","updated":"2018-06-25 08:03:32.000000000","message":"it will be updated if the resource is invalidated.\n\nThis is where I noticed that existing practice in the project is to have `_do_refresh`. Added this to `bios` where `_pending_setting_resource` is invalidated. See how it is used in system.py.","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95f64adc360ca384b30bf7a907b8e768c94bbf71","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                self._settings.resource_uri,"},{"line_number":75,"context_line":"                redfish_version\u003dself.redfish_version)"},{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"},{"line_number":80,"context_line":"        \"\"\"Update an attribute"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_5e342549","line":77,"range":{"start_line":77,"start_character":47,"end_line":77,"end_character":57},"updated":"2018-06-22 14:03:19.000000000","message":"We raised this concern in the irc/e-mail thread - what exactly is reported by the settings URI?\nWill the applied attributes disappear from there once applied?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"423545cae9c416e44ebb11ad4236919ba8ae8b95","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                self._settings.resource_uri,"},{"line_number":75,"context_line":"                redfish_version\u003dself.redfish_version)"},{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"},{"line_number":80,"context_line":"        \"\"\"Update an attribute"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_c58b6b66","line":77,"range":{"start_line":77,"start_character":47,"end_line":77,"end_character":57},"in_reply_to":"5f7c97a3_5e342549","updated":"2018-06-25 08:03:32.000000000","message":"as the spec does not say and as clarified in the e-mail - it can be both: 1) disappear or 2) be the same as current attributes. \nDo you think some updates are needed here?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"95f64adc360ca384b30bf7a907b8e768c94bbf71","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"},{"line_number":80,"context_line":"        \"\"\"Update an attribute"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        Attribute update is not immediate but requires system restart."}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_bed459eb","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":21},"updated":"2018-06-22 14:03:19.000000000","message":"May be this can be a special case of `set_attributes` being called for one avpair?","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"423545cae9c416e44ebb11ad4236919ba8ae8b95","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        self._pending_settings_resource.refresh(force\u003dFalse)"},{"line_number":77,"context_line":"        return self._pending_settings_resource.attributes"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def set_attribute(self, key, value):"},{"line_number":80,"context_line":"        \"\"\"Update an attribute"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        Attribute update is not immediate but requires system restart."}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_45ed1b22","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":21},"in_reply_to":"5f7c97a3_bed459eb","updated":"2018-06-25 08:03:32.000000000","message":"Done","commit_id":"30f9aa39b13cbeb26e959888cc33becfb4fd9b24"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"88350752c7085f35244e8a5fac08a49776d89bf7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    description \u003d base.Field(\u0027Description\u0027)"},{"line_number":40,"context_line":"    \"\"\"Human-readable description of the BIOS resource\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    attribute_registry \u003d base.Field(\u0027AttributeRegistry\u0027)"},{"line_number":43,"context_line":"    \"\"\"The Resource ID of the Attribute Registry"},{"line_number":44,"context_line":"    for the BIOS Attributes resource"},{"line_number":45,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"5f7c97a3_d6455d16","line":42,"updated":"2018-06-25 14:35:44.000000000","message":"I wonder if we need to hide it until we\u0027re ready to expose it in a nice way","commit_id":"fb44452cdd10f443079d282e1c267b98f3ba61d7"}],"sushy/tests/unit/resources/test_settings.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f314c874429636b012a18c22bab106464158df30","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                          redfish_version\u003d\u00271.0.2\u0027)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.settings \u003d settings.SettingsField(\"@Redfish.Settings\","},{"line_number":44,"context_line":"                                               self.base_resource)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test__load(self):"},{"line_number":47,"context_line":"        instance \u003d self.settings._load(self.json, self.base_resource)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_fd5c7f1a","line":44,"updated":"2018-06-06 09:02:32.000000000","message":"from the code, it looks like what you really need is\n\n self.settings \u003d settings.SettingsField(\"@Redfish.Settings\",\n                                        TestResource)\n\nactually, \"@Redfish.Settings\" is standard, what you really need to know is \"/Foo\", so maybe\n\n self.settings \u003d settings.SettingsField(\"/Foo\", TestResource)\n\n? This will actually allow it to work declaratively.","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"e5c25cfd1c343d78e341a600e41ee177c20f29ec","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                          redfish_version\u003d\u00271.0.2\u0027)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.settings \u003d settings.SettingsField(\"@Redfish.Settings\","},{"line_number":44,"context_line":"                                               self.base_resource)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test__load(self):"},{"line_number":47,"context_line":"        instance \u003d self.settings._load(self.json, self.base_resource)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_8b009302","line":44,"in_reply_to":"5f7c97a3_fd5c7f1a","updated":"2018-06-06 19:38:37.000000000","message":"passing resource not necessary anymore, as SettingsField will not fetch the future setting object (more details at settings.py). \n\nBut if I understood correctly, I changed constructor for SettingsField to not require path to use it like this:\n\n self.settings \u003d settings.SettingsField()\n\nas path always should be \"@Redfish.Settings\"","commit_id":"f7ba81c4abaff226fc31c75f151c717f17308d93"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(SettingsFieldTestCase, self).setUp()"},{"line_number":27,"context_line":"        self.json \u003d None"},{"line_number":28,"context_line":"        with open(\u0027sushy/tests/unit/json_samples/settings.json\u0027,"},{"line_number":29,"context_line":"                  \u0027r\u0027) as f:"},{"line_number":30,"context_line":"            self.json \u003d json.loads(f.read())"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_fc64c6e6","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":24},"updated":"2018-06-14 13:22:09.000000000","message":"Why do we need this considering `with` is not a condition so it always executes?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(SettingsFieldTestCase, self).setUp()"},{"line_number":27,"context_line":"        self.json \u003d None"},{"line_number":28,"context_line":"        with open(\u0027sushy/tests/unit/json_samples/settings.json\u0027,"},{"line_number":29,"context_line":"                  \u0027r\u0027) as f:"},{"line_number":30,"context_line":"            self.json \u003d json.loads(f.read())"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_377002db","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":24},"in_reply_to":"5f7c97a3_fc64c6e6","updated":"2018-06-15 12:15:59.000000000","message":"don\u0027t need, removed","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"49f5b5836f3db6a5b070963fc92f9cfa7e131b99","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(SettingsFieldTestCase, self).setUp()"},{"line_number":27,"context_line":"        self.json \u003d None"},{"line_number":28,"context_line":"        with open(\u0027sushy/tests/unit/json_samples/settings.json\u0027,"},{"line_number":29,"context_line":"                  \u0027r\u0027) as f:"},{"line_number":30,"context_line":"            self.json \u003d json.loads(f.read())"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_fca926dc","line":28,"range":{"start_line":28,"start_character":19,"end_line":28,"end_character":62},"updated":"2018-06-14 13:22:09.000000000","message":"This code assumes that we run the tests from some particular cwd. May be better use absolute path anchored at `__file__` e.g. the location of this file or the `tests` package?","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"da918ee7b496f9f8fc2fa3e335f10a18e8228672","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(SettingsFieldTestCase, self).setUp()"},{"line_number":27,"context_line":"        self.json \u003d None"},{"line_number":28,"context_line":"        with open(\u0027sushy/tests/unit/json_samples/settings.json\u0027,"},{"line_number":29,"context_line":"                  \u0027r\u0027) as f:"},{"line_number":30,"context_line":"            self.json \u003d json.loads(f.read())"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_57425e6a","line":28,"range":{"start_line":28,"start_character":19,"end_line":28,"end_character":62},"in_reply_to":"5f7c97a3_fca926dc","updated":"2018-06-15 12:15:59.000000000","message":"would look at this in another patch, as this is pattern used in other test cases, e.g., test_manager.py","commit_id":"c6a71ec90327ddaa24bf5a11739479c6f7770303"}]}
