[Bug 1319600] [NEW] maas command line client brittle to unexpected inputs
Seth Arnold
1319600 at bugs.launchpad.net
Wed May 14 23:22:00 UTC 2014
Public bug reported:
The maas command line client is brittle to unexpected inputs. On trusty,
I tried to run the 'sudo maas createsuperuser' command that I used on
precise, quantal, and saucy, but it failed. I wanted detailed help, so I
ran 'maas -h', and that dumped a stack trace because the file
/home/ubuntu/.maascli.db was owned by root. I tried running a bare
'maas' to get help, and that gave an error message with instruction to
run a command that isn't actually executable.
I expected the 'createsuperuser' command to be useful -- hints about its
replacement would be welcome.
I expected a simple error message if a database file isn't readable
rather than a stack trace.
I expected some simple help regardless of database ownership.
I expected the advice about getting help to be usable with copy-and-
paste.
Thanks
Here's my full transcript:
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ sudo maas createsuperuser
usage: /usr/lib/python2.7/dist-packages/maascli/__main__.py [-h] COMMAND ...
/usr/lib/python2.7/dist-packages/maascli/__main__.py: error: argument COMMAND: invalid choice: u'createsuperuser' (choose from u'list', u'login', u'logout', u'refresh')
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ maas -h
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/dist-packages/maascli/__main__.py", line 20, in <module>
main()
File "/usr/lib/python2.7/dist-packages/maascli/__init__.py", line 41, in main
parser = prepare_parser(argv)
File "/usr/lib/python2.7/dist-packages/maascli/parser.py", line 73, in prepare_parser
api.register_api_commands(parser)
File "/usr/lib/python2.7/dist-packages/maascli/api.py", line 493, in register_api_commands
with ProfileConfig.open() as config:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/lib/python2.7/dist-packages/maascli/config.py", line 81, in open
os.close(os.open(dbpath, os.O_CREAT | os.O_APPEND, 0600))
OSError: [Errno 13] Permission denied: '/home/ubuntu/.maascli.db'
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ maas
Error: no arguments given.
Run /usr/lib/python2.7/dist-packages/maascli/__main__.py --help for usage details.
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ /usr/lib/python2.7/dist-packages/maascli/__main__.py --help
-bash: /usr/lib/python2.7/dist-packages/maascli/__main__.py: Permission denied
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ ls -l /usr/lib/python2.7/dist-packages/maascli/__main__.py
-rw-r--r-- 1 root root 362 Apr 15 16:06 /usr/lib/python2.7/dist-packages/maascli/__main__.py
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ maas --help
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/dist-packages/maascli/__main__.py", line 20, in <module>
main()
File "/usr/lib/python2.7/dist-packages/maascli/__init__.py", line 41, in main
parser = prepare_parser(argv)
File "/usr/lib/python2.7/dist-packages/maascli/parser.py", line 73, in prepare_parser
api.register_api_commands(parser)
File "/usr/lib/python2.7/dist-packages/maascli/api.py", line 493, in register_api_commands
with ProfileConfig.open() as config:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/lib/python2.7/dist-packages/maascli/config.py", line 81, in open
os.close(os.open(dbpath, os.O_CREAT | os.O_APPEND, 0600))
OSError: [Errno 13] Permission denied: '/home/ubuntu/.maascli.db'
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ ls -l ~/.maas*
-rw------- 1 root root 3072 May 14 23:11 /home/ubuntu/.maascli.db
ubuntu at server-335f9ebe-bbba-4c94-a356-22adcb7a6a5d:/tmp/qrt-test-django$ sudo maas --help
usage: /usr/lib/python2.7/dist-packages/maascli/__main__.py [-h] COMMAND ...
....
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: maas 1.5+bzr2252-0ubuntu1
ProcVersionSignature: User Name 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.1
Architecture: amd64
Date: Wed May 14 23:14:12 2014
Ec2AMI: ami-000008a2
Ec2AMIManifest: FIXME
Ec2AvailabilityZone: nova
Ec2InstanceType: m1.large
Ec2Kernel: aki-0000022a
Ec2Ramdisk: ari-0000022a
PackageArchitecture: all
ProcEnviron:
TERM=rxvt-unicode
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: maas
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: maas (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug ec2-images third-party-packages trusty
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to maas in Ubuntu.
https://bugs.launchpad.net/bugs/1319600
Title:
maas command line client brittle to unexpected inputs
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/maas/+bug/1319600/+subscriptions
More information about the Ubuntu-server-bugs
mailing list