[Pulp-dev] cli without TTY fails with "IOError: [Errno 25] Inappropriate ioctl for device"
Andreas.Piesk at voeb-zvd.de
Andreas.Piesk at voeb-zvd.de
Fri Apr 10 18:58:22 UTC 2020
Hello list,
i have the issue described in https://pulp.plan.io/issues/4068, it's not
entirely fixed:
$ echo bla | while read A; do pulp-admin rpm repo list --repo-id $A; done
Traceback (most recent call last):
File "/usr/bin/pulp-admin", line 9, in <module>
load_entry_point('pulp-client-admin==2.21.1', 'console_scripts',
'pulp-admin')()
File "/usr/lib/python2.7/site-packages/pulp/client/admin/__init__.py",
line 9, in main
exit_code = launcher.main(read_config(),
exception_handler_class=AdminExceptionHandler)
File "/usr/lib/python2.7/site-packages/pulp/client/launcher.py", line
102, in main
extensions_loader.load_extensions(extensions_dir, context, role)
File
"/usr/lib/python2.7/site-packages/pulp/client/extensions/loader.py", line
130, in load_extensions
entry_point.load()(context)
File
"/usr/lib/python2.7/site-packages/pulp_rpm/extensions/admin/rpm_repo/pulp_cli.py",
line 94, in initialize
renderer = status.RpmStatusRenderer(context)
File
"/usr/lib/python2.7/site-packages/pulp_rpm/extensions/admin/status.py",
line 46, in __init__
self.download_bar = self.prompt.create_progress_bar()
File "/usr/lib/python2.7/site-packages/pulp/client/extensions/core.py",
line 420, in create_progress_bar
width = self.terminal_size()[0]
File "/usr/lib/python2.7/site-packages/okaara/prompt.py", line 379, in
terminal_size
ioctl = fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0,
0, 0))
IOError: [Errno 25] Inappropriate ioctl for device
It's not only terminal_size() called from pulp, okaara itself calls
terminal_size() internally:
$ echo bla | while read A; do pulp-admin rpm repo list --repo-id $A; done
Traceback (most recent call last):
File "/usr/bin/pulp-admin", line 9, in <module>
load_entry_point('pulp-client-admin==2.21.1', 'console_scripts',
'pulp-admin')()
File "/usr/lib/python2.7/site-packages/pulp/client/admin/__init__.py",
line 9, in main
exit_code = launcher.main(read_config(),
exception_handler_class=AdminExceptionHandler)
File "/usr/lib/python2.7/site-packages/pulp/client/launcher.py", line
115, in main
code = cli.run(args)
File "/usr/lib/python2.7/site-packages/pulp/client/extensions/core.py",
line 481, in run
code = self.context.exception_handler.handle_exception(e)
File
"/usr/lib/python2.7/site-packages/pulp/client/extensions/exceptions.py",
line 98, in handle_exception
exit_code = handle_func(e)
File
"/usr/lib/python2.7/site-packages/pulp/client/extensions/exceptions.py",
line 428, in handle_unexpected
self.prompt.render_failure_message(msg)
File "/usr/lib/python2.7/site-packages/pulp/client/extensions/core.py",
line 182, in render_failure_message
self.write(message, color=COLOR_FAILURE, tag=tag)
File "/usr/lib/python2.7/site-packages/pulp/client/extensions/core.py",
line 468, in write
Prompt.write(self, content, new_line, center, color, tag, skip_wrap)
File "/usr/lib/python2.7/site-packages/okaara/prompt.py", line 172, in
write
content = self.wrap(content)
File "/usr/lib/python2.7/site-packages/okaara/prompt.py", line 266, in
wrap
wrap_width = self.terminal_size()[0]
File "/usr/lib/python2.7/site-packages/okaara/prompt.py", line 379, in
terminal_size
ioctl = fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0,
0, 0))
IOError: [Errno 25] Inappropriate ioctl for device
Workaround is to disable wrap_to_terminal in admin.conf and consumer.conf:
#wrap_to_terminal: true
wrap_width: 80
Best Regards,
-ap
More information about the Pulp-dev
mailing list