Containers, such as Docker, communicate to each other through a shared kernel. Guest virtual machines communicate to each other through the hypervisor or host operating system. Containers enjoy faster communication as staying within a shared kernel allows for more rapid communication than leaving a virtual machine and going out to a hypervisor (or host operating system) to communicate with another virtual machine. Containers allow for sequestration of processes and fewer operating systems licenses compared to having a comparable solution with virtual machines.
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.
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.
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.
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.
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?
“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.
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 /
When challenged at work, be it debugging a program or getting a server to work properly, sometimes it makes sense to escalate the problem or ask for assistance. This is true for lead architects, I.T. vendors, or junior service desk employees. Here are the top five reasons to ask for assistance.
1) It can save time. A senior level person may not have the idiosyncratic business knowledge of a more tenure junior employee.
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.