Virtual Training

All this week I am attending a Red Hat System Administration I training class. There are no Red Hat training centers in Nashville, so I’m attending a virtual classroom, which pretty much means I dial into a conference call and login from home.

The upside to virtual training is I’m dressing casually and drinking my own coffee. The downside is lack of interaction with other students. It feels like a Directed Study, not a classroom.

The other upside to virtual training is I have my work laptop open along side my desktop PC. So while I’m doing lab exercises on my desktop, I have a several chat windows open with work colleagues with more linux experience than me, so I’m asking them questions in real-time. Questions like: “The instructor is pronouncing it ‘su-doo’, is that right? I thought it was ‘su-doh’”.

Turns out, it’s “su-doo”. That’s something I would never have thought to look up.

Being Sick and WFH

I’ve been sick for a week.

I went to the Take Care Clinic near my house on Tuesday morning and Wednesday morning of last week. Strep test was negative, Flu test was negative, but my symptoms of cough, sinus congestion, fever, chills, sore throat, chest congestion, upset stomach, and headache were still very real. And it floored me. The last time I’ve been this sick was October of 2002.

At first they told me just to use over the counter products to help ease my symptoms but after a few days I had them prescribe a Medrol dose pack, which has been helping me feel normal again. Here is a picture of all the medicine I took this morning, just so I can function:

Cold Virus Morning Regiment

From left to right:

  • Mucinex DM, to clear up the chest congestion
  • Morning’s dose of Medrol, which so far has been a miracle drug
  • Ammoxicillin, because everything I’ve coughed up shows signs of infection
  • Claritin, to clear up the sinus congestion
  • Advil, for the muscle aches
  • Tylenol, for the head ache
  • Vitamin C, beacuse it’s important
  • Multivitamin, because it can’t hurt
  • DayQuil, for the cough

I’m thankful I’ve had enough PTO at work to take three days off last week. Thankfully, Martin Luther King Jr Day is an observed work holiday, so I get one last day today to rest up.

I am going to avoid the office for as long as I can, because I have no idea how long before I’m not contagious. There seems to be a consensus at 7-10 days before the symptoms truly subside, so I’m using that as a rule of thumb. Working from home is the easy part, because my employer makes it easy to work remotely (since I do a lot of after hours work). It won’t be difficult to make sure my coworkers in the office don’t come down with this virus. What’s more difficult is protecting my wife from it. So far she hasn’t shown any symptoms of it, for which I am very thankful.

I’ll be glad once I can get this sickness behind me. I don’t wish this on anyone.

Ping 1.1.1.1

This week I’m trying to automate some pieces of our disaster recovery test, which happens in less than two weeks. Previous tests have taken 4-6 hours to bring the BCP environment online and in the event of a true disaster, the faster we can bring it online the the better, so in the next two weeks whatever can get scripted… gets scripted.

Yesterday I wrote and tested a series of scripts to stop/disable and enable/start the IIS services on the web servers. There are multiple services that all need to be running, some of them take 5-10 seconds to start up, and some of them are dependent on others. In my testing, I was getting errors. I needed to insert a pause.

So I inserted a ping in the startup_iis.bat script.

sc \\Web1 config IISADMIN start= auto
sc \\Web1 start IISADMIN
ping 1.1.1.1
sc \\Web1 config HTTPFilter start= auto
sc \\Web1 start HTTPFilter
ping 1.1.1.1
sc \\Web1 config W3SVC start= auto
sc \\Web1 start W3SVC

The IP address 1.1.1.1 is invalid and not reachable, but the ping command will try anyway. It created a pause of about 20 seconds, enough time for one service to finish starting before I attempted to enable and start the next service.

As an Application Administrator, it’s ingrained into you the religion of Change Management and the love of uptime. So I cannot even begin to describe how counter-intuitive it is to forcibly take down the Production environment. How awkward it is to write scripts specifically designed to create a disastrous outage. It’s the closest I will come to being a Mad Scientist.

UPDATE: a friend on Facebook pointed out some the parameters accepted as options in ping.exe. His example:

ping 1.1.1.1 -n 1 -w 300000>nul

This makes one ping request with a timeout of 300,000 milliseconds (5 minutes). Nice if you are waiting for a server to reboot.