How do you use the source keyword in Puppet’s DSL (when writing a manifest)?

When writing a Puppet manifest you can use the “content” reserved word.  You then have quotes around the actual text content of this file right in the manifest itself.  This works for a file that you want to create on a Puppet Agent server as long as the content is roughly one line of text.  But for a binary file, this will not work (as it cannot appear in the manifest).  The “source” reserved word allows you to point to a specific file on the Puppet Master server. 

Six Puppet Configuration Tips

Deploying Puppet Master and Puppet Agents for the first time can involve a significant amount of troubleshooting.  In this post, I want to review six miscellaneous points that may arise.  These are somewhat random, but they can serve in the rudimentary stages of quickly getting a proof of concept established.

1.  With a default configuration, Puppet Master on Linux will run manifests with only one name in only one location: /etc/puppet/manifests/site.pp

Many DevOps engineers do use manifests with different names. 

Ansible Managing Windows Servers

While as of right now, there is not a great way to install Ansible on Windows servers (because you have to install cygwin).  Ansible running on Linux can readily configure Windows servers and push files down to them.  There are some things to look out for when setting this up.  It is not overly documented on Ansible’s website.  Some documentation (on various websites) tells DevOps engineers (or the professional using Ansible) to use a windows.yml file in a group_vars directory. 

How Do You Set Up Passwordless SSH to a Windows Server?

Problem scenario
Are are asking yourself “why am I being prompted for a password when my SSH keys were set up correctly?”  When the contents of the .pub file (the public key) are placed into the authorized_keys file (in the /home/jdoe/.ssh/ folder of a client machine), the user should be able to SSH over to the server with no password — unless the SSH key was generated with a passphrase. 

Moving a Windows .txt file to a Linux Server

Problem scenario:  When you move a Windows .txt file to a Linux server, new characters can be introduced.  For example, the content of the file can have a “^M” (with no quotes) at the end of every line.  Sometimes tr, sed, and awk won’t work to remove this new jibberish (extraneous characters).  Moreover, sometimes the substitute command in vi will fail to do anything about these extraneous characters (^M).  How do you eliminate these extra characters at the end of every line? 

Apache Software Foundation Has Imperfect Websites

“Documentation plays a great role in the maintenance of a project.”  (Page 19, Learn Apache Ant, Tutorialspoint.com, 2014) 

The open source movement is no exception.  As much as we admire The Apache Software Foundation, we are disappointed that they don’t correct errors. We’ve submitted the first two errors below to them.  However, mistakes remain. Here are some errors to help other people who may be confused:

#1 was corrected.  

What To Do When Linux Files Are Read Only

Sometimes you cannot edit and save a single file in Linux.  For example, if you boot into maintenance mode after the /etc/fstab is corrupt, you cannot edit the very file that is causing the problem.  To overcome this problem, you will need to log in as root and issue a command.  You will need to manually edit the /etc/fstab.  To do this in maintenance mode you need to issue this command from the prompt: 
mount -o remount,rw /
After this,

Top Five Reasons To Ask For Help When Working in I.T.

“If you learn nothing else from training, it is very important to learn that your limits are seldom where you think they are.” (Page 94 of Starting Strength.)

When challenged at work, be it debugging a program or getting a server or pod to work properly, sometimes it makes sense to escalate the problem or ask for assistance.  This is true for lead architects, I.T. vendors,

Python Documentation Issue

Python is a great language. 

On 11/10/15 we found an error on this Python documentation site.  Here is what we saw for the endswith function documentation:

The Syntax for the “endswith” function, on the face of the documentation, involves “startswith”.  We updated the site by clicking the “Edit on GitHub” link.  We corrected it on 11/10/15.  Hopefully someone will approve this change and the canonical syntax in the documentation will be corrected.

OpenStack and Virtualization API Quiz

1.  Generic API Question
What are the HTTP operations associated with the acronym CRUD?

2.  OpenStack API Question
Assuming a verbose amount of logging has been preconfigured, does the API log for glance ordinarily capture glance activity from the CLI (commands that bypass horizon)?  As a hint, the default location of this log is this:  /var/log/glance/api.log

3.  OpenStack API Question
The “Create Image” feature in Horizon is an API call with an underlying “Post” call.