[openstackclient] openstack cli broken after update to Wallaby

Eugen Block eblock at nde.ag
Tue Apr 11 09:49:55 UTC 2023


Hi Clark,

you were on the right track with the DISPLAY variable. I had some  
other stuff on the plate and today I started a new approach. Long  
story short, I have an alias for ssh in my bash profile (our admin set  
that up years ago) which hasn't bit me until now:

alias ssh='ssh -X'

This seems to work fine on Leap 15.2 and Victoria, though, but I'll  
just need to make sure not to use the alias on Ubuntu, I guess. Maybe  
I'll remove the alias entirely.

Thanks!
Eugen

Zitat von Clark Boylan <cboylan at sapwetik.org>:

> On Tue, Apr 4, 2023, at 7:34 AM, Eugen Block wrote:
>> Hi *,
>>
>> today I upgraded my virtual test environment from V to W when (Ubuntu
>> 20.04) all of a sudden cli commands didn't work anymore with this
>> stack trace:
>>
>> ---snip---
>> root at control01:~# openstack network agent list
>> Traceback (most recent call last):
>>    File "/usr/bin/openstack", line 6, in <module>
>>      from openstackclient.shell import main
>>    File "/usr/lib/python3/dist-packages/openstackclient/shell.py",
>> line 23, in <module>
>>      from osc_lib import shell
>>    File "/usr/lib/python3/dist-packages/osc_lib/shell.py", line 24,  
>> in <module>
>>      from cliff import app
>>    File "/usr/lib/python3/dist-packages/cliff/app.py", line 22, in <module>
>>      import cmd2
>>    File "/usr/lib/python3/dist-packages/cmd2.py", line 585, in <module>
>>      _ = pyperclip.paste()
>>    File "/usr/lib/python3/dist-packages/pyperclip/__init__.py", line
>> 667, in lazy_load_stub_paste
>>      copy, paste = determine_clipboard()
>>    File "/usr/lib/python3/dist-packages/pyperclip/__init__.py", line
>> 558, in determine_clipboard
>>      return init_gi_clipboard()
>>    File "/usr/lib/python3/dist-packages/pyperclip/__init__.py", line
>> 167, in init_gi_clipboard
>>      gi.require_version('Gtk', '3.0')
>>    File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, in
>> require_version
>>      raise ValueError('Namespace %s not available' % namespace)
>> ValueError: Namespace Gtk not available
>> ---snip---
>>
>> I found this bug [1] describing the same issue but there has been no
>> progress. I posted my comments there as well. I found one way to get
>> the openstack shell to work by installing libgtk-3-dev (I found a hint
>> in a search engine). Apparently, python3-cmd2 requires
>> python3-pyperclip which requires python3-gi and so on. Is this really
>> the desired way? I didn't notice anything in the release notes (maybe
>> I missed it). When comparing to a different environment (Victoria on
>> baremetal) I see that libgtk-3 is installed there (not -dev though),
>> but even with libgtk-3-0 the error message was still present. So the
>> question is, which dependencies are missing where? It's not really
>> obvious to me. Could this already be fixed in Xena? If it is fixed
>> there I could do the double upgrade, of course, especially since
>> Wallaby is already under extended maintenance. Any comments are
>> appreciated.
>
> I know you've marked this invalid elsewhere, but I think there is an  
> interesting problem somewhere here. In particular I've cloned  
> https://github.com/asweigart/pyperclip which backs the pyperclip  
> pypi package https://pypi.org/project/pyperclip/. Reading  
> determine_clipboard() it seems to do all this extra work (on Linux  
> anyway) if DISPLAY is set. One easy workaround may be to unset that  
> env var in your terminals when running openstackclient.
>
> That said looking more closely init_gi_clipboard() isn't in the  
> current code base. Looking at the history of the project:
> `git log -p | grep init_gi_clipboard` produces no results either.  
> This makes me wonder where that is coming from and what  
> version/source of pyperclip you are using. If I grab pyperclip 1.8.2  
> (which is the upper constraints version for wallaby and xena) from  
> pypi this function doesn't appear to exist there either. It is  
> possible they rewrote their git history at some point, but best I  
> can tell your version of pyperclip doesn't share code or history  
> with the version on pypi specified in upper constraints for wallaby  
> and xena.
>
> Also it looks like if you install xsel or xclip that pyperclip will  
> prefer those tools over the gtk bindings.
>
>>
>> Thanks,
>> Eugen
>>
>> [1]
>> https://bugs.launchpad.net/ubuntu/+source/python-openstackclient/+bug/1945661






More information about the openstack-discuss mailing list