{"action":"created","issue":{"url":"https://api.github.com/repos/open-power/op-test-framework/issues/264","repository_url":"https://api.github.com/repos/open-power/op-test-framework","labels_url":"https://api.github.com/repos/open-power/op-test-framework/issues/264/labels{/name}","comments_url":"https://api.github.com/repos/open-power/op-test-framework/issues/264/comments","events_url":"https://api.github.com/repos/open-power/op-test-framework/issues/264/events","html_url":"https://github.com/open-power/op-test-framework/pull/264","id":335231773,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk2OTgyMzc5","number":264,"title":"OpTestSystem: Connection enhancements","user":{"login":"debmc","id":17056892,"node_id":"MDQ6VXNlcjE3MDU2ODky","avatar_url":"https://avatars3.githubusercontent.com/u/17056892?v=4","gravatar_id":"","url":"https://api.github.com/users/debmc","html_url":"https://github.com/debmc","followers_url":"https://api.github.com/users/debmc/followers","following_url":"https://api.github.com/users/debmc/following{/other_user}","gists_url":"https://api.github.com/users/debmc/gists{/gist_id}","starred_url":"https://api.github.com/users/debmc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/debmc/subscriptions","organizations_url":"https://api.github.com/users/debmc/orgs","repos_url":"https://api.github.com/users/debmc/repos","events_url":"https://api.github.com/users/debmc/events{/privacy}","received_events_url":"https://api.github.com/users/debmc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-06-25T01:26:03Z","updated_at":"2018-06-28T04:19:12Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/open-power/op-test-framework/pulls/264","html_url":"https://github.com/open-power/op-test-framework/pull/264","diff_url":"https://github.com/open-power/op-test-framework/pull/264.diff","patch_url":"https://github.com/open-power/op-test-framework/pull/264.patch"},"body":"Enhancements included in this patch:\r\n\r\nConnection handling tolerant of glitches.\r\n\r\nRefactor modules to single source shared utilities.\r\n\r\nAutomatic login and prompt setup for consoles.\r\n\r\nSigned-off-by: Deb McLemore <debmc@linux.vnet.ibm.com>"},"comment":{"url":"https://api.github.com/repos/open-power/op-test-framework/issues/comments/400905985","html_url":"https://github.com/open-power/op-test-framework/pull/264#issuecomment-400905985","issue_url":"https://api.github.com/repos/open-power/op-test-framework/issues/264","id":400905985,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMDkwNTk4NQ==","user":{"login":"stewart-ibm","id":6668672,"node_id":"MDQ6VXNlcjY2Njg2NzI=","avatar_url":"https://avatars2.githubusercontent.com/u/6668672?v=4","gravatar_id":"","url":"https://api.github.com/users/stewart-ibm","html_url":"https://github.com/stewart-ibm","followers_url":"https://api.github.com/users/stewart-ibm/followers","following_url":"https://api.github.com/users/stewart-ibm/following{/other_user}","gists_url":"https://api.github.com/users/stewart-ibm/gists{/gist_id}","starred_url":"https://api.github.com/users/stewart-ibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stewart-ibm/subscriptions","organizations_url":"https://api.github.com/users/stewart-ibm/orgs","repos_url":"https://api.github.com/users/stewart-ibm/repos","events_url":"https://api.github.com/users/stewart-ibm/events{/privacy}","received_events_url":"https://api.github.com/users/stewart-ibm/received_events","type":"User","site_admin":false},"created_at":"2018-06-28T04:19:12Z","updated_at":"2018-06-28T04:19:12Z","author_association":"MEMBER","body":"Deb McLemore <notifications@github.com> writes:\n>> Connection handling tolerant of glitches.\n>\n> Just some Observations on IPMI SOL and OPexpect.spawn handling:\n>\n> When the OPexpect spawn process stops seeing data coming in its buffers, op-test can detect staleness, nothing is changing in the pexpect buffer.  The only way to kick this is to send a buffer kicker, sometimes repeatedly (like hitting the enter key if you use manual means).  Sending sporadic enter keys during the boot cycle when it gets close to Petitboot can disrupt the transition to get to booting the OS (the last_try mechanism is used to pretend like an end-user and hit the enter key, etc, which will kick things free and hopefully the transition is in a good place to perform such actions).\n>\n> One way to overcome this was to get a completely fresh OPexpect spawn process (which for IPMI deactivates/activates SOL) and then data will automatically start flowing in the OPexpect spawn process buffer without having to kick the buffer with any extraneous sends (but this doesn't always happen).\n>\n> You can manually use ipmitool commands to power off and then power on\n> the box, which also seems to sync things up, I have had SOL itself\n> stop responding and lock up manually, very unpredictable, and even\n> needing to reboot the BMC, such fun (and even flop to golden side,\n> etc).\n\nYeah, my horrible code to reconnect on SOL disconnect did this, and that\n\"fixed\" a lot of things on AMI BMC based P8 systems. Otherwise we'd just\nhang or reconnect forever and never get anywhere.\n\nMind you, I wonder how much we work around these BMC bugs and just say\n\"you have to fix your BMC implementation\".\n\n> However, sometimes a new OPexpect spawn process seems to get initially\n> hung up without anything in the buffer (I read a few things about bugs\n> in pexpect with the socket and issues with the buffer pointer locking\n> up, etc).  The only way I overcame that issue in other places is to\n> sendline(\"date\") which actually produces data in the new incoming\n> pexpect buffer which seems to sync things up and works.  I found a\n> comment in some of the pexpect code about this being like \"playing in\n> traffic\".\n\nHrm... I've not seen this myself, at least not when creating a new\npexpect object for each new connection. I wonder if there were any bugs\nfixed in pexpect between what we've been using.\n\n-- \nStewart Smith\nOPAL Architect, IBM.\n\n"}}
{"actor":{"display_login":"stewart-ibm"}}