How Can Conway’s Law Avoid Conflicting with the DevOps Movement?

Organizational structures are created by business leaders.  A constellation of specialists in theory can be very productive for modular codebases where the work is distributed intelligently.

Conway’s Law is “[a]ny organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.” Conway’s Law indirectly asserts that the Unix philosophy of having things be modular is achievable best by loosely-coupled groups rather than tightly-coupled groups (such as an aggregation of mini-groups into one business unit) according to WhatIs.com.

What Command Do You Run to See the Host Variables That Ansible Natively Has Access to on the Servers In /etc/ansible/hosts File?

Problem scenario
You want to see the different variables that Ansible can leverage (e.g., for playbooks to inject host-specific data into files).  How do you find out what Ansible has access to on each server in /etc/ansible/hosts?

Solution
Run this command:
ansible all -m setup –tree /tmp/facts

How Do You Troubleshoot a Crontab Problem?

Problem scenario
You have modified the crontab (e.g., with sudo crontab -e), but the job is not running.  What can you do?

Possible Solution #1
A good troubleshooting technique of a cronjob is to configure it to have this job * * * * * env /tmp/list.txt. You then analyze /tmp/list.txt to see if it is different from the results of running “env” manually.

How Do You Troubleshoot the openssl Error “getaddrinfo: Servname not supported for ai_socktype”?

Problem scenario
You use the openssl command, but you receive an error.  You run a command such as this:

openssl s_client -connect https://www.continualintegration.com:80

You get a message such as this:
getaddrinfo: Servname not supported for ai_socktype
connect:errno=0

What should you do to view the SSL certificates?

Solution
Run the command without the “http://”.  Here is an example of the correct syntax:

openssl s_client -connect continualintegration.com:80

For Future Reference
OpenSSL uses SSL and TLS. 

How Do You Search a Directory in Linux for Files That Have Content That Match a Pattern?

Problem scenario
Linux novices call directories “folders.”  You want to search all the directories and subdirectories for a string pattern.  How do you do this?

Solution
1.  Change directories into the directory where you want to start searching.

2.  Run this command:  grep patterntosearchfor * -ir

Replace “patterntosearchfor” with the pattern you want to find. 

How Do You Remove a File from a Git Repository so the Old Versions Are Eliminated?

Problem scenario
You accidentally uploaded a file with sensitive data (e.g., hard-coded credentials such as a database username and password) to a Git repository.  You want to eliminate it from the Git repository so all of its history are removed from the previous commits and it is unretrievable.  How do you do this?

Solution
WARNING:  This will delete data.  Some people rely on Git repos as a disaster recovery product. 

What Does It Mean When a Search in ServiceNow Returns “No records found”?

Problem scenario
In ServiceNow you search for an item, but the searches return “No records found.”  You are given a hyperlink to a case, but you see “Record not found” despite being logged into the web UI for ServiceNow.  What is going on or what is wrong?

Solution
It is possible that the hyperlink had a typo or that the search term literally could not find a matching record. 

How Do You Get the gatling.sh Script to Work when You Get an Error about There Not Being a Simulation Script?

Problem scenario
You run gatling.sh but you receive this error: “There is no simulation script. Please check that your scripts are in user-files/simulations”.  What should you do?

Possible solution #1
Go to the subdirectory user-files/simulations/.  Place a .scala file there that is a simulation script.

Possible solution #2
Run the gatling.sh script with “sudo” before the command like this:  

How Do You Troubleshoot an Ansible Problem about Missing Quotes when You Have Quotes around Each Variable?

Problem scenario
You run an Ansible playbook but you get an error about “this one looks like it might be an issue with missing quotes.”  Your Ansible playbook compares two variables with each other.  

After running ansible-playbook on the .yaml file, you get this error:

“ERROR! Syntax Error while loading YAML.
  expected <block end>, but found ‘<scalar>’

The error appears to have been in ‘/home/cooluser/good.yaml’: line 12,

How Do You Get Your GPS to Get Traffic and Show Your Position Properly?

Problem scenario
Your GPS is not working properly.  The traffic updates and satellites for the maps are not working correctly.  What is wrong?

Possible solution #1
The cord should be unravelled.  They often are supposed to work as antennas.  Bundled up the cord may not work as an antenna.  Place as much of the cord along the dashboard as possible.  This way there is a clear path to the sky.