Bug 1389620

Summary: [WALA]Suggest to deal with Ctrl-C when execute "waagent -deprovision"
Product: Red Hat Enterprise Linux 7 Reporter: Yuxin Sun <yuxisun>
Component: WALinuxAgentAssignee: Miroslav Rezanina <mrezanin>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.3CC: borisb, danis, hkrijger, jboutaud, jjarvis, leiwang, mheslin, salmy, wshi, yuxisun
Target Milestone: rcKeywords: Extras, Tracking
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: WALinuxAgent-2.2.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1429319 (view as bug list) Environment:
Last Closed: 2017-03-07 08:52:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1429319    

Description Yuxin Sun 2016-10-28 03:23:34 UTC
Description of problem:
When executes "waagent -deprovision" and input "Ctrl-C" at the "(y/n)?" choice, it raise exception.

Version-Release number of selected component (if applicable):
WALinuxAgent-2.2.0

RHEL Version: RHEL-7.3

How reproducible:
100%

Steps to Reproduce:
1. Prepare a VM with WALA-2.2.0 installed
2. Run "waagent -deprovision" and input "Ctrl-C" at the "(y/n)?" choice
# waagent -deprovision
...
Do you want to proceed (y/n)^C

Actual Result:
It raises exception, printed and logged into waagent.log:
Traceback (most recent call last):
  File "/sbin/waagent", line 35, in <module>
    agent.main()
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/agent.py", line 127, in main
    agent.deprovision(force, deluser=False)
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/agent.py", line 86, in deprovision
    deprovision_handler.run(force=force, deluser=deluser)
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/pa/deprovision/default.py", line 130, in run
    confirm = read_input("Do you want to proceed (y/n)")
KeyboardInterrupt
2016/10/27 13:07:18.720680 ERROR Event: name=WALA, op=UnhandledError, message=Traceback (most recent call last):
  File "/sbin/waagent", line 35, in <module>
    agent.main()
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/agent.py", line 127, in main
    agent.deprovision(force, deluser=False)
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/agent.py", line 86, in deprovision
    deprovision_handler.run(force=force, deluser=deluser)
  File "/usr/lib/python2.7/site-packages/azurelinuxagent/pa/deprovision/default.py", line 130, in run
    confirm = read_input("Do you want to proceed (y/n)")
KeyboardInterrupt


Expect Result:
It doesn't raise exception. Just quit normally.

Additional Info:
None

Comment 1 Yuxin Sun 2016-12-15 09:41:34 UTC
Verified in WALinuxAgent-2.2.2 upstream. 
Result: Fail

Steps: As description.

Actual result: 
Print message: ERROR: handle_interrupt_signal() takes exactly 2 arguments (3 given) 

Expect result:
Print message: Deprovision is interrupted.

Open new issue on github:
https://github.com/Azure/WALinuxAgent/issues/521

Comment 2 Yuhui Jiang 2017-02-21 09:40:04 UTC
Verified on WALinuxAgent-2.2.4-1 RHEL-6.9-20170202.0.
Result is pass.

Comment 3 Yuxin Sun 2017-02-24 11:45:43 UTC
Verified on WALinuxAgent-2.2.4-1 RHEL-7.3 ondemand image.
Result is Pass.

Comment 4 Yuxin Sun 2017-03-06 03:16:23 UTC
Change the status to "POST" for developers to add it into ERRATA.