How I Converted My Team From OMVS Lovers to SSH Devotees

David Rice
Theropod
Published in
4 min readNov 4, 2022
OMVS Interface

🖥🖥 Some years back I was working with a z/OS team on an analytics project using mostly Open-Source software. At the time we started this project, we weren’t allowed to make SSH connections to the mainframe. Rather than connecting over SSH, we had to use the OMVS (Open Multiple Virtual Storage) interface, which is a way to access the z/OS Unix environment with 3270 emulators. Here’s the problem with this approach, the OMVS interface has some major disadvantages compared to connecting over SSH which made this a very complicated working environment. This article will discuss the various reasons why SSH makes this work easier, and how this became the necessary fuel for the team to change their system policy to allow SSH connections.

The first issue with the OMVS interface that I would like to discuss is a lack of a command history. To be clear, not all shells that you can run over SSH have a command history, but Bash has been available on the mainframe for quite some time now, and the team needed to use Bash with the product we were working on. So, they had Bash available, but couldn’t use one of the best features of Bash. (More information on how to setup Bash on z/OS in this Theropod Medium article written by Anthony Giorgio, The Bash Shell on z/OS)

Another Bash specific feature they were missing out on was tab completion. Why is this an issue? Well, when you work in a Unix like space, you often end up writing long and complex commands that often require incredibly detailed pathing. When you don’t have tab completion available, you need to be very careful about typing these long paths out by hand, and if you ever have a small typo, which happens all the time, your command can fail in very strange ways. Ok, but what does tab completion do for you? Simply by pushing the tab key, Bash will complete as much of the current command as it can and is particularly powerful when writing out a path. Tab completion dramatically increases the speed and ease of use of the terminal. Once again, the team had these features available, but simply couldn’t use them.

The next few issues with the OMVS interface just makes the users life more difficult. The first of which is difficulty scrolling up the screen. I know that traditional 3270 wizards know the keyboard buttons they need to push to scroll, but can we all agree that using a mouse wheel is significantly faster and easier? Scrolling in SSH doesn’t involve I/O with the system and allows the workstation to do what it does well. Along the same lines of usability issues, OMVS doesn’t display output of a long running command, unless you keep hitting the enter key. I can’t even begin to tell you how frustrating that is, just tediously hitting enter over and over just to find out if your script ran the way you expected it to. Well, here’s the thing, both issues are satisfied with a SSH connection. You don’t need to worry about scrolling because modern terminals allow using the mouse scroll wheel. You also don’t need to hit enter, because they will continue to print the output to the screen, even when it is a long running app. Why did these issues matter to the team? Well, the application we were using was long running, and often we would need to scroll through the output to find out details about the app. This was yet another reason this team needed to make the switch.

This last issue, in my opinion, makes using the OMVS interface borderline unusable, and this is really the straw that broke the camel’s back with the team. OMVS has a maximum number of characters you are allowed to use in a single line. This character limit is regularly exceeded when doing work in the Unix space. So, we would need to write a series of shell scripts that would wrap these commands into smaller commands before they could be executed. To put this simply, this is absurd. In a SSH session, there is no character limitation, and with that makes working in that space significantly easier.

Really the biggest thing this team learned was when using SSH, it allowed people to interact with z/OS in the same way they would interact with any of their other Unix like environments. So, what happened with that team? Their frustration grew with the OMVS interface over the 8-month period of struggling with these deficiencies. Finally the leadership we were working with on this project was able to use the list of issues we were facing as a way to convince administrators to change their policy about SSH, which allowed them to work in a much better environment. Once they started using SSH, their appreciation of this new environment grew quickly. I have not seen them use the OMVS interface since. In fact, it is normal for them to have multiple SSH sessions running on their workstations alongside their traditional 3270 sessions.

--

--