…in other words, DevOps. Github sends a notifyCommit message to Jenkins. That message passes through the Jenkins git plugin, which triggers a job if (1) there is a job configured with a git url matching the notifyCommit git url, and (2) there is a change to the code. If the job does not already exist…
Continue Readingshell
Troubleshoot Hashicorp packer AWS Instance Directly
I use GitHub to send a notifyCommit to Jenkins to kick off a pipeline job that spins up packer, calling ansible as a provisioner (along with some preliminary shell) to configure and install, which then tests (ansible properly formatted cover unit testing) integration using a temporary cloud formation using Hashicorp consul service discovery and a…
Continue ReadingSED (stream editor)
/dev/null; else cp ${i} ${i}.bak; sed “s/#Force all traffic through secure http/#Force all traffic through secure http\n RewriteCond \%\{REQUEST_URI\} \!\^\/jmx\/app_status.jsp/” ${i}.2; mv ${i}.2 ${i}; fi; done and in func… [root@p1-qaut1 ~]# func p1-vm167* call command run ‘for i in /etc/httpd/conf/ConstantContact*.conf; do if [[ `egrep “RewriteCond \%\{REQUEST_URI\} \!\^\/jmx\/app_status.jsp” ${i}` ]]; then echo $i…
Continue ReadingMapping applications to VMs
I use XEN in RedHat linux (CentOS) for our QA environment. Within each XEN server I might have 20 – 30 servers. There are three XEN servers per QA environment, three QA environments. A constant problem is tracking where applications are installed within the VMs. I use puppet throughout the environments, including deployments of applications…
Continue Readingfinding the largest files within a directory
I was shown this maybe my second day on my first job with the title “System Admin”. It worked on Solaris 2.4, and has continued to be useful through AIX, HPUNIX, Red Hat, Ubuntu, Debian, Gentoo, Crunchbang, other variants of Solaris, BSD, etc. One of the best parts of being a UNIX sysadmin instead of…
Continue Readingtroubleshooting puppet variables
This is a practical use of searching for strings and finding and setting a missing puppet variable. Error from a puppet run: err: Could not retrieve catalog from remote server: Error 400 on SERVER: sysloghost variable must be defined in app_site module at /etc/puppet/environments/directory/modules/dstributed/app/manifests/log4j.pp:11 on node servernamed warning: Not using cache on failed catalog err:…
Continue Readingsearching for a string in a directory hierarchy
Much of the puppet infrastructure I work with is unmapped – it is the result of tickets submitted and variables asked for by developers or placed as solutions. This exists above the structure we designed and created intentionally. To discover where a variable is set in puppet, often I search through the entire puppet working…
Continue Readingeclipsed
I’ve been working with Remote System Explorer (RSE), a terminal and ssh session manager that runs in the Eclipse SDK. This is very cool – the thing is, eclipse runs on Solaris, Linux, Windows, MAC OSX, IBM AIX (of course – IBM created the eclipse framework). It as close to an OS-agnostic…
Continue ReadingSetting TERM=vt220
console2 with cygwin bash shell and ssh behind it (and a lot of other UNIX commands too, like ls, and find and grep and awk and gpg…) has turned out to be a good solution. I discovered that cygwin sets the terminal as TERM=cygwin. That plays hell with vi on SUN servers. I found…
Continue Readingstupid shell (and UNIX) tricks
I love using abobe photoshop C2’s automation – especially when resizing a series of images for the web. I would love to run linux entirely – but linux keeps falling short in graphics programs (yes, I use gimp – sorry, but Photoshop is better) and printer drivers – linux still can’t run my Canon Pixma…
Continue Reading