projectatomic / atomic

Atomic Run Tool for installing/running/managing container images.
Other
524 stars 139 forks source link

ValueError is hidden from user when trying to install container that does not exist on registry #1224

Closed miabbott closed 6 years ago

miabbott commented 6 years ago

Using Fedora 28 Atomic Host Beta, I tried to install a version of the etcd system container that does not exist on the Fedora registry. The command returned 1, but there was no error returned to the user.

# rpm-ostree status
State: idle; auto updates disabled
Deployments:
● ostree://fedora-atomic:fedora/28/x86_64/atomic-host
                   Version: 28_Beta.1.3 (2018-03-28 22:24:38)
                BaseCommit: ba6371389226223fb8ba055fb02b92febf4d00e1ccd435cc21cba6af19088c73
              GPGSignature: Valid signature by 128CF232A9371991C8A65695E08E7E629DB62FB1

# rpm -q atomic
atomic-1.22.1-1.fc28.x86_64

# atomic install --system --system-package=no registry.fedoraproject.org/f28/etcd

# echo $?
1

# atomic --debug install --system --system-package=no registry.fedoraproject.org/f28/etcd
Namespace(_class=<class 'Atomic.install.Install'>, args=[], assumeyes=False, debug=True, display=False, func='install', ignore=False, image='registry.fedoraproject.org/f28/etcd', name=None, opt1=None, opt2=None, opt3=None, profile=False, remote=None, runtime=None, setvalues=None, storage=None, system=True, system_package='no', user=False)

Traceback (most recent call last):
  File "/usr/bin/atomic", line 185, in <module>
    sys.exit(_func())
  File "/usr/lib/python3.6/site-packages/Atomic/install.py", line 118, in install
    remote_image_obj = be.make_remote_image(self.args.image)
  File "/usr/lib/python3.6/site-packages/Atomic/backends/_ostree.py", line 157, in make_remote_image
    img_obj.populate_remote_inspect_info()
  File "/usr/lib/python3.6/site-packages/Atomic/objects/image.py", line 157, in populate_remote_inspect_info
    remote_inspect_info = self.remote_inspect()
  File "/usr/lib/python3.6/site-packages/Atomic/objects/image.py", line 174, in remote_inspect
    inspect_info = ri.inspect()
  File "/usr/lib/python3.6/site-packages/Atomic/discovery.py", line 41, in inspect
    inspect_data = util.skopeo_inspect("docker://{}".format(self.fqdn), return_json=True)
  File "/usr/lib/python3.6/site-packages/Atomic/util.py", line 348, in skopeo_inspect
    raise ValueError(error)
ValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/atomic", line 198, in <module>
    sys.exit(1)
SystemExit: 1
giuseppe commented 6 years ago

PR here: https://github.com/projectatomic/atomic/pull/1228