)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"270964cf941ef15982f20971094e6d250b5b7e62","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Drew Walters \u003candrew.walters@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-20 21:15:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[#122] WIP: Add remote.Client interface"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The remote package in airshipctl is tightly coupled to redfish. In the"},{"line_number":10,"context_line":"future, we may need to introduce IPMI or SMASH; however, adding those"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df33271e_a05b4f85","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":6},"updated":"2020-03-21 10:44:51.000000000","message":"Remove this. It\u0027s legacy format","commit_id":"75cbdf3e5ad44d64923e1f05aa91c339024de485"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"93c97da0e75839f31df0fcbf96f3b81bc7445c04","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Drew Walters \u003candrew.walters@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-20 21:15:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[#122] WIP: Add remote.Client interface"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The remote package in airshipctl is tightly coupled to redfish. In the"},{"line_number":10,"context_line":"future, we may need to introduce IPMI or SMASH; however, adding those"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df33271e_789292f8","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":6},"in_reply_to":"df33271e_a05b4f85","updated":"2020-03-23 14:01:00.000000000","message":"\u003e Remove this. It\u0027s legacy format\n\nHave we updated our issue bot to handle commits that don\u0027t have the issue number in the title? I thought it was unable to parse from the body.","commit_id":"75cbdf3e5ad44d64923e1f05aa91c339024de485"},{"author":{"_account_id":7185,"name":"Dmitry Ukov","email":"dukov@mirantis.com","username":"dukov"},"change_message_id":"270964cf941ef15982f20971094e6d250b5b7e62","unresolved":false,"context_lines":[{"line_number":16,"context_line":"This change also separates remoteDirect functionality from the redfish"},{"line_number":17,"context_line":"package in order to make it more loosely coupled."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Relates #5, #122"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I45d4ea6e2a4146ea519e94ea701a3ad527e50ca0"},{"line_number":22,"context_line":"Signed-off-by: Drew Walters \u003candrew.walters@att.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df33271e_e0543757","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":16},"updated":"2020-03-21 10:44:51.000000000","message":"Relates-To: #5\nRelates-To: #122","commit_id":"75cbdf3e5ad44d64923e1f05aa91c339024de485"}],"pkg/remote/redfish/client.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"d72bdc37f2a75575faccb0c261042e033c729e6c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"// GetEphemeralNodeID retrieves the ephemeral node ID."},{"line_number":44,"context_line":"func (c Client) GetEphemeralNodeID() string {"},{"line_number":45,"context_line":"\treturn c.ephemeralNodeID"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-go","patch_set":4,"id":"df33271e_9a764fd8","line":44,"range":{"start_line":44,"start_character":16,"end_line":44,"end_character":19},"updated":"2020-03-24 20:44:59.000000000","message":"Getters don\u0027t begin with Get in Go\n\nhttps://golang.org/doc/effective_go.html#Getters","commit_id":"fbf6c4472261fdfb589d9831d92e066d244a9ce8"}],"pkg/remote/remote_direct.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"090ddecae5ae837724c67536d3acf5272d96ecf7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\tAirshipHostKind string \u003d \"BareMetalHost\""},{"line_number":30,"context_line":")"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"// Adapter bridges the gap between out-of-band clients. It can hold any type of OOB client, i.e. Redfish."},{"line_number":33,"context_line":"type Adapter struct {"},{"line_number":34,"context_line":"\tOOBClient    Client"},{"line_number":35,"context_line":"\tcontext      context.Context"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_ec82a5ff","line":32,"range":{"start_line":32,"start_character":92,"end_line":32,"end_character":96},"updated":"2020-04-01 21:25:37.000000000","message":"e.g.","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"06180ad0bbf922b79104171a16861d17b3816e69","unresolved":false,"context_lines":[{"line_number":29,"context_line":"\tAirshipHostKind string \u003d \"BareMetalHost\""},{"line_number":30,"context_line":")"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"// Adapter bridges the gap between out-of-band clients. It can hold any type of OOB client, i.e. Redfish."},{"line_number":33,"context_line":"type Adapter struct {"},{"line_number":34,"context_line":"\tOOBClient    Client"},{"line_number":35,"context_line":"\tcontext      context.Context"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_edac30f0","line":32,"range":{"start_line":32,"start_character":92,"end_line":32,"end_character":96},"in_reply_to":"df33271e_ec82a5ff","updated":"2020-04-03 18:11:16.000000000","message":"Done","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"090ddecae5ae837724c67536d3acf5272d96ecf7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\treturn nil"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// getRemoteDirectConfig retrieves the remote direct configuration defined in the Airship configuration file."},{"line_number":93,"context_line":"func (a *Adapter) validateRemoteDirectConfig(settings *environment.AirshipCTLSettings) error {"},{"line_number":94,"context_line":"\tcfg :\u003d settings.Config()"},{"line_number":95,"context_line":"\tbootstrapSettings, err :\u003d cfg.CurrentContextBootstrapInfo()"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_ccdec13c","line":92,"range":{"start_line":92,"start_character":3,"end_line":92,"end_character":24},"updated":"2020-04-01 21:25:37.000000000","message":"I think \"initializeRemoteDirect\" or \"initializeAdapter\" would be a better fit for this function","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"06180ad0bbf922b79104171a16861d17b3816e69","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\treturn nil"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// getRemoteDirectConfig retrieves the remote direct configuration defined in the Airship configuration file."},{"line_number":93,"context_line":"func (a *Adapter) validateRemoteDirectConfig(settings *environment.AirshipCTLSettings) error {"},{"line_number":94,"context_line":"\tcfg :\u003d settings.Config()"},{"line_number":95,"context_line":"\tbootstrapSettings, err :\u003d cfg.CurrentContextBootstrapInfo()"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_8d81244e","line":92,"range":{"start_line":92,"start_character":3,"end_line":92,"end_character":24},"in_reply_to":"df33271e_ccdec13c","updated":"2020-04-03 18:11:16.000000000","message":"Done","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"090ddecae5ae837724c67536d3acf5272d96ecf7","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"// DoRemoteDirect executes remote direct based on remote type."},{"line_number":135,"context_line":"func (a *Adapter) DoRemoteDirect() error {"},{"line_number":136,"context_line":"\talog.Debugf(\"Using Remote Endpoint: \u0027%s\u0027\", a.remoteURL)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t/* TODO: Add Authentication when redfish library supports it. */"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_ccb7e1f4","line":136,"range":{"start_line":136,"start_character":37,"end_line":136,"end_character":41},"updated":"2020-04-01 21:25:37.000000000","message":"drop the quotes and switch to %q","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"06180ad0bbf922b79104171a16861d17b3816e69","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"// DoRemoteDirect executes remote direct based on remote type."},{"line_number":135,"context_line":"func (a *Adapter) DoRemoteDirect() error {"},{"line_number":136,"context_line":"\talog.Debugf(\"Using Remote Endpoint: \u0027%s\u0027\", a.remoteURL)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"\t/* TODO: Add Authentication when redfish library supports it. */"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_0d8d147b","line":136,"range":{"start_line":136,"start_character":37,"end_line":136,"end_character":41},"in_reply_to":"df33271e_ccb7e1f4","updated":"2020-04-03 18:11:16.000000000","message":"Done","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"090ddecae5ae837724c67536d3acf5272d96ecf7","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\t\treturn err"},{"line_number":144,"context_line":"\t}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\talog.Debugf(\"Ephemeral Node Virtual Media Id: \u0027%s\u0027\", vMediaID)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"\t/* Load ISO in manager\u0027s virtual media */"},{"line_number":149,"context_line":"\terr \u003d a.OOBClient.SetVirtualMedia(a.context, vMediaID, a.remoteConfig.IsoURL)"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_6c9df564","line":146,"range":{"start_line":146,"start_character":47,"end_line":146,"end_character":51},"updated":"2020-04-01 21:25:37.000000000","message":"ditto: %q","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"06180ad0bbf922b79104171a16861d17b3816e69","unresolved":false,"context_lines":[{"line_number":143,"context_line":"\t\treturn err"},{"line_number":144,"context_line":"\t}"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\talog.Debugf(\"Ephemeral Node Virtual Media Id: \u0027%s\u0027\", vMediaID)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"\t/* Load ISO in manager\u0027s virtual media */"},{"line_number":149,"context_line":"\terr \u003d a.OOBClient.SetVirtualMedia(a.context, vMediaID, a.remoteConfig.IsoURL)"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_6de78048","line":146,"range":{"start_line":146,"start_character":47,"end_line":146,"end_character":51},"in_reply_to":"df33271e_6c9df564","updated":"2020-04-03 18:11:16.000000000","message":"Done","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"090ddecae5ae837724c67536d3acf5272d96ecf7","unresolved":false,"context_lines":[{"line_number":151,"context_line":"\t\treturn err"},{"line_number":152,"context_line":"\t}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"\talog.Debugf(\"Successfully loaded virtual media: \u0027%s\u0027\", a.remoteConfig.IsoURL)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"\t/* Set system\u0027s bootsource to selected media */"},{"line_number":157,"context_line":"\terr \u003d a.OOBClient.SetEphemeralBootSourceByType(a.context, vMediaType)"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_4c98f173","line":154,"range":{"start_line":154,"start_character":49,"end_line":154,"end_character":53},"updated":"2020-04-01 21:25:37.000000000","message":"ditto: %q","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"06180ad0bbf922b79104171a16861d17b3816e69","unresolved":false,"context_lines":[{"line_number":151,"context_line":"\t\treturn err"},{"line_number":152,"context_line":"\t}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"\talog.Debugf(\"Successfully loaded virtual media: \u0027%s\u0027\", a.remoteConfig.IsoURL)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"\t/* Set system\u0027s bootsource to selected media */"},{"line_number":157,"context_line":"\terr \u003d a.OOBClient.SetEphemeralBootSourceByType(a.context, vMediaType)"}],"source_content_type":"text/x-go","patch_set":16,"id":"df33271e_4dec3c29","line":154,"range":{"start_line":154,"start_character":49,"end_line":154,"end_character":53},"in_reply_to":"df33271e_4c98f173","updated":"2020-04-03 18:11:16.000000000","message":"Done","commit_id":"74fb06514b7bef65556d03fad06677222b5502e0"},{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"7ba294839bb2093826539d8d6caedcb66f308dc5","unresolved":false,"context_lines":[{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// initializeAdapter retrieves the remote direct configuration defined in the Airship configuration file."},{"line_number":93,"context_line":"func (a *Adapter) intializeAdapter(settings *environment.AirshipCTLSettings) error {"},{"line_number":94,"context_line":"\tcfg :\u003d settings.Config()"},{"line_number":95,"context_line":"\tbootstrapSettings, err :\u003d cfg.CurrentContextBootstrapInfo()"},{"line_number":96,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":19,"id":"df33271e_43636db2","line":93,"range":{"start_line":93,"start_character":18,"end_line":93,"end_character":34},"updated":"2020-04-03 20:10:08.000000000","message":"misspelling: initializeAdapter","commit_id":"a15f978cad3bcdfee47edfed0436e5f09cde6e83"},{"author":{"_account_id":28618,"name":"Drew Walters","email":"drewwalters@microsoft.com","username":"drewwalters96"},"change_message_id":"cbfefce4ac329588d450d0830bdbbb967c49acb0","unresolved":false,"context_lines":[{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"// initializeAdapter retrieves the remote direct configuration defined in the Airship configuration file."},{"line_number":93,"context_line":"func (a *Adapter) intializeAdapter(settings *environment.AirshipCTLSettings) error {"},{"line_number":94,"context_line":"\tcfg :\u003d settings.Config()"},{"line_number":95,"context_line":"\tbootstrapSettings, err :\u003d cfg.CurrentContextBootstrapInfo()"},{"line_number":96,"context_line":"\tif err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":19,"id":"df33271e_a3feb968","line":93,"range":{"start_line":93,"start_character":18,"end_line":93,"end_character":34},"in_reply_to":"df33271e_43636db2","updated":"2020-04-03 20:23:51.000000000","message":"\u003e misspelling: initializeAdapter\n\noops. Yes! Fix on the way.","commit_id":"a15f978cad3bcdfee47edfed0436e5f09cde6e83"}],"pkg/remote/types.go":[{"author":{"_account_id":28869,"name":"Ian Howell","email":"ian.howell0@gmail.com","username":"ian"},"change_message_id":"d72bdc37f2a75575faccb0c261042e033c729e6c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\t// SetBootSource operation and removed from the client interface."},{"line_number":31,"context_line":"\tSetVirtualMedia(context.Context, string, string) error"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"\tNewClient()"},{"line_number":34,"context_line":"}"}],"source_content_type":"text/x-go","patch_set":4,"id":"df33271e_2528c484","line":33,"range":{"start_line":33,"start_character":1,"end_line":33,"end_character":10},"updated":"2020-03-24 20:44:59.000000000","message":"This shouldn\u0027t be here","commit_id":"fbf6c4472261fdfb589d9831d92e066d244a9ce8"}]}
