Activity log for bug #1829788

Date Who What changed Old value New value Message
2019-05-20 19:01:48 Andreas Hasenack bug added bug
2019-05-20 19:02:01 Andreas Hasenack bug watch added https://github.com/CanonicalLtd/ubuntu-advantage-client/issues/514
2019-05-20 19:02:01 Andreas Hasenack bug task added ubuntu-advantage-script
2019-05-20 19:30:03 Andreas Hasenack nominated for series Ubuntu Disco
2019-05-20 19:30:03 Andreas Hasenack bug task added ubuntu-advantage-tools (Ubuntu Disco)
2019-05-20 19:30:11 Andreas Hasenack ubuntu-advantage-tools (Ubuntu Disco): status New In Progress
2019-05-20 19:30:13 Andreas Hasenack ubuntu-advantage-tools (Ubuntu Disco): assignee Andreas Hasenack (ahasenack)
2019-05-20 19:30:16 Andreas Hasenack ubuntu-advantage-tools (Ubuntu Disco): importance Undecided High
2019-05-20 19:50:34 Andreas Hasenack description Traceback (most recent call last): File "/usr/bin/ua", line 11, in load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 371, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 295, in action_status contractInfo['effectiveTo'], '%Y-%m-%dT%H:%M:%SZ') KeyError: 'effectiveTo' [Impact] Due to a server-side change, an expected key is no longer being sent to the client during an attach operation. This causes the client to backtrace with a KeyError exception: Traceback (most recent call last): File "/usr/bin/ua", line 11, in load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 371, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 295, in action_status contractInfo['effectiveTo'], '%Y-%m-%dT%H:%M:%SZ') KeyError: 'effectiveTo' The client should default to a "no expiration" value in this case. Upstream already handles this, but the fix is missing for disco and eoan. [Test Case] Run "sudo ua attach": $ sudo ua attach Email: andreas@canonical.com Password: Second-factor auth: nnnnnn This machine is now attached to 'andreas.hasenack@canonical.com'. Traceback (most recent call last): File "/usr/bin/ua", line 11, in <module> load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 373, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 311, in action_status contract_expiry=expiry.date(), AttributeError: 'str' object has no attribute 'date' With the fixed package, you should see "n/a" for the "Valid until" header and it should not crash: Email: andreas@canonical.com Password: Second-factor auth: pppppp This machine is now attached to 'andreas.hasenack@canonical.com'. Account: andreas.hasenack@canonical.com Subscription: andreas.hasenack@canonical.com Valid until: n/a Technical support level: not included ... [Regression Potential] The fix is just setting a "n/a" text value to the expiration date in the case one isn't provided, and that is exactly the expected outcome, and what the (already heavily modified) upstream code does. No existing tests were affected by the change, which means it's not covered. Upstream has already changed a lot, and includes a test for this. Finally, the UA offerings are currently not available for non-LTS releases, so there is nothing to regress here. A crash is a bad bug, though, so we do want to get it fixed. [Other Info] None at this time.
2019-05-20 19:55:17 Andreas Hasenack description [Impact] Due to a server-side change, an expected key is no longer being sent to the client during an attach operation. This causes the client to backtrace with a KeyError exception: Traceback (most recent call last): File "/usr/bin/ua", line 11, in load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 371, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 295, in action_status contractInfo['effectiveTo'], '%Y-%m-%dT%H:%M:%SZ') KeyError: 'effectiveTo' The client should default to a "no expiration" value in this case. Upstream already handles this, but the fix is missing for disco and eoan. [Test Case] Run "sudo ua attach": $ sudo ua attach Email: andreas@canonical.com Password: Second-factor auth: nnnnnn This machine is now attached to 'andreas.hasenack@canonical.com'. Traceback (most recent call last): File "/usr/bin/ua", line 11, in <module> load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 373, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 311, in action_status contract_expiry=expiry.date(), AttributeError: 'str' object has no attribute 'date' With the fixed package, you should see "n/a" for the "Valid until" header and it should not crash: Email: andreas@canonical.com Password: Second-factor auth: pppppp This machine is now attached to 'andreas.hasenack@canonical.com'. Account: andreas.hasenack@canonical.com Subscription: andreas.hasenack@canonical.com Valid until: n/a Technical support level: not included ... [Regression Potential] The fix is just setting a "n/a" text value to the expiration date in the case one isn't provided, and that is exactly the expected outcome, and what the (already heavily modified) upstream code does. No existing tests were affected by the change, which means it's not covered. Upstream has already changed a lot, and includes a test for this. Finally, the UA offerings are currently not available for non-LTS releases, so there is nothing to regress here. A crash is a bad bug, though, so we do want to get it fixed. [Other Info] None at this time. [Impact] Due to a server-side change, an expected key is no longer being sent to the client during an attach operation. This causes the client to backtrace with a KeyError exception: Traceback (most recent call last): File "/usr/bin/ua", line 11, in load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')() File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 371, in main return args.action(args, cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach action_status(args=None, cfg=cfg) File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 295, in action_status contractInfo['effectiveTo'], '%Y-%m-%dT%H:%M:%SZ') KeyError: 'effectiveTo' The client should default to a "no expiration" value in this case. Upstream already handles this, but the fix is missing for disco and eoan. [Test Case] Run "sudo ua attach": $ sudo ua attach Email: andreas@canonical.com Password: Second-factor auth: nnnnnn This machine is now attached to 'andreas.hasenack@canonical.com'. Traceback (most recent call last):   File "/usr/bin/ua", line 11, in <module>     load_entry_point('ubuntu-advantage-tools==19.2', 'console_scripts', 'ubuntu-advantage')()   File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 373, in main     return args.action(args, cfg)   File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 241, in action_attach     action_status(args=None, cfg=cfg)   File "/usr/lib/python3/dist-packages/uaclient/cli.py", line 311, in action_status     contract_expiry=expiry.date(), AttributeError: 'str' object has no attribute 'date' With the fixed package, you should see "n/a" for the "Valid until" header and it should not crash: Email: andreas@canonical.com Password: Second-factor auth: pppppp This machine is now attached to 'andreas.hasenack@canonical.com'. Account: andreas.hasenack@canonical.com Subscription: andreas.hasenack@canonical.com Valid until: n/a Technical support level: not included ... [Regression Potential] The fix is just setting a "n/a" text value to the expiration date in the case one isn't provided, and that is exactly the expected outcome, and what the (already heavily modified) upstream code does. No existing tests were affected by the change, which means it's not covered. Finally, the UA offerings are currently not available for non-LTS releases, so there is nothing to regress here. A crash is a bad bug, though, so we do want to get it fixed. [Other Info] None at this time.
2019-05-20 21:26:45 Bug Watch Updater ubuntu-advantage-script: status Unknown Fix Released
2019-05-21 21:04:01 Launchpad Janitor merge proposal linked https://code.launchpad.net/~ahasenack/ubuntu/+source/ubuntu-advantage-tools/+git/ubuntu-advantage-tools/+merge/367711
2019-05-21 21:05:31 Launchpad Janitor merge proposal linked https://code.launchpad.net/~ahasenack/ubuntu/+source/ubuntu-advantage-tools/+git/ubuntu-advantage-tools/+merge/367713
2019-07-03 17:02:04 Chad Smith nominated for series Ubuntu Eoan
2019-07-03 17:02:04 Chad Smith bug task added ubuntu-advantage-tools (Ubuntu Eoan)
2019-07-05 15:13:38 Andreas Hasenack ubuntu-advantage-tools (Ubuntu Eoan): status In Progress Fix Released
2020-07-02 19:30:51 Steve Langasek ubuntu-advantage-tools (Ubuntu Disco): status In Progress Won't Fix