Maintaining product with a long history is not an easy work. And definitely we have really long history. In the glorious time of concurring the world of software industry, when programming was the job of the toughest man and women, our company had an impressing portfolio of supported operating systems. Browsing the sources of native components, I found the following comment in the Makefile

Impressing list, but the only one which is supported 25 years later is Linux. And also we added MS Windows. And… we switched to little bit more recent technologies.

After all this years only very small…


This days I had to play with SuSe Linux a while. Zypper is very cool package manager but of course it can’t do everything you want from it. So I hit the issue with downloading the whole software pattern. Following the logic of install and info options i tried

zypper download -t pattern Minimal

The idea was too good to be true. Let’s play with some bash scripting.

zypper info -t pattern

returns the list of packages and we need only required ones. So the first guess is

zypper info -t pattern Minimal | grep Required | awk -F '|'…

Yesterday I was surprised by “Do you remember how we talk about expiration of our contract with CDN provider at the end of the year? You said couple of months ago, you will move the repository with updates to Amazon”

Of course I forgot. There is no way to remember such thing more than couple of weeks.

Hopefully, I had s3 bucket with similar, but much smaller repository and I decided to modify the upload script and just to add one more repo. I modified slightly the script, ran Jenkins job, I saw that the files are uploaded and decided…


A week ago we s-started tests of our product on SLES 12 SP5. Everything went perfect until we decided to setup SLEHA with SAN storage. I followed the instructions, rebooted the OS and than OS refuses to boot. Message

a start job is running for root.device

appeared on boot screen and than emergency mode prompt.

In the previous iterations of the testing we used virtual machines and everything went just fine. So I try to reproduce the issue on VM and I was quite surprised when everything passes as expected. Also it was impossible to mount the device manually.

Lets…


Be careful with grep exit codes.

By historical reasons, our product is shipped also as virtual appliance, based on SLES. So in order to be compliant to OS, the product is packaged as RPM package. Fine, but this product was never meant to be packaged as RPM, so it comes with Java based installer and some shell scripts. It is pretty standard installer — you are running some script, the script is unpacking product distribution and JRE into temp directory, whatever.

But when we are installing RPM, we don’t have the benefits of interviewer so we need JRE to make…


Friday afternoon I pass mandatory company training on customer experience, the course was not remarkable, even I can say it was typical corporate bullshit like “lets put the tick on a checkbox where all of our senior employees are passed training on CX”. But there was couple of cases there, which was very familiar to me.

In the March I gave my old mountain bike to my son and bough a new one. …


Just another Friday detective story.

Couple of weeks ago all major Linux vendors released fix for MDS vulnerability in the kernel — CVE-2018–12126, CVE-2018–12130, CVE-2018–12127 and CVE-2019–11091. Two weeks after release of kernel 3.10.0–957.21.3 by RedHat and CentOS, our customer logged ticket that after the kernel update, FTPs transfers become to fail. In the first ticket the version of the kernel was wrong, I made sanity check on same OS/kernel as reported and closed the ticket as not reproducible. …


Long time ago we decided to retire our ancient VMware LabManager cloud and migrate to some alternative. Lab Manager was really useful solution, but it was discontinued and the Guys in the High Skies Who Holds the Money says — the new VMware alternatives are too expensive, find something different. That was the short story how one sunny day strange little animal called OpenStack became its life in our servers. It was growing some features and extensions, it was becoming more mature each sprint and finally our little guinea pig begun its youth period — the beta testing by team.


Last week I went in trouble with setting up webex conference from Linux laptop. I resolved the issue with 32 bit Docker image started on my machine, but I realized it is not so easy to install Oracle JDK automatically. Yesterday my co-worker needed a number of machines with installed JDK and Docker. I made Ansible playbook for less than 3 minutes, but I found that Docker is not in standard RHEL 7 repo. If yo want to install Docker you need to enable “extras” repo. But Ansible subscription manager package does not support repository management. So I fallback to…


It was regular Monday afternoon, I was trying not to fall asleep after lunch and I was trying to hide myself from boring daily work, doing not-so-boring maintenance tasks. In fact I had last portion of servers that should be added to Zabbix monitoring. These servers was running on ancient RHEL 5 and was little bit tumble-down. I hit all of my favorite bugs like “you need to move /dev/mem to /dev/mem.dmi if you don’t want to see segmentation fault on subscription-manager attach command”. Or “you forgot aabout this machine last year and you don’t have free space in /var”…

Hristofor Pamyatnih

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store