** Description changed:

+ [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 
+ 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: andr...@canonical.com
+ Password: 
+ Second-factor auth: nnnnnn
+ This machine is now attached to 'andreas.hasen...@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: andr...@canonical.com
+ Password: 
+ Second-factor auth: pppppp
+ This machine is now attached to 'andreas.hasen...@canonical.com'.
+ 
+ Account: andreas.hasen...@canonical.com
+ Subscription: andreas.hasen...@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.

** Description changed:

- [Impact] 
+ [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: andr...@canonical.com
- Password: 
+ Password:
  Second-factor auth: nnnnnn
  This machine is now attached to 'andreas.hasen...@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(),
+   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: andr...@canonical.com
- Password: 
+ Password:
  Second-factor auth: pppppp
  This machine is now attached to 'andreas.hasen...@canonical.com'.
  
  Account: andreas.hasen...@canonical.com
  Subscription: andreas.hasen...@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.
  
- [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.
+ 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.

-- 
You received this bug notification because you are a member of Ubuntu
Server, which is subscribed to ubuntu-advantage-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1829788

Title:
  backtrace on attach: KeyError: 'effectiveTo'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-advantage-script/+bug/1829788/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to