Keep multiple versions of applications on Macintosh

Most of the DevOps tools are still in beta versions, many times the new version is not compatible with your existing scripts or have an error that stops your scripts working. To be able to keep multiple versions of the applications and easily switch between them, create symbolic links and point to the version you […]

Variable ‘…’: duplicate found. Variable names must be unique.

Starting with Terraform version 0.7.3 you can only define a variable once within a directory or a module. Before that release you could copy variable definition files from other modules and did not throw an error if you had the same variable defined in multiple files within the module. In the new version of Terraform […]

Launch Windows instances locally with Chef Test Kitchen

Most Linux distributions are free, and do not require product keys to launch them. The steps below are based on the great article at http://kitchen.ci/blog/test-kitchen-windows-test-flight-with-vagrant/ I have summarized the steps below to create a free Virtual Box Windows Server 2012R2 image on your workstation, so Test Kitchen can use Vagrant and Virtual Box to launch Windows instances and test cookbooks […]

How to migrate the DevOps development environment to another workstation

Git Move the Git repositories to a new workstation If you want to move Git repositories to your new workstation Commit and push all repositories to GitHub on the old workstation, Copy the folders from your old workstation to the new, Execute the following command in all Git repositories on the new workstation. git reset […]

DevOps Engineering part 1. (Mac) – Install the DevOps development tools on Macintosh

Enable the right-click To be able the right-click on the mouse Open settings. Enable Secondary click for the mouse and the trackpad. Lock the screen On High Sierra Press the Cmd-Ctrl-q key combination to lock the screen. On earlier MacOS versions To be able to lock the screen from the menu bar: In Finder search for […]

DevOps Engineering part 1. (Win) – Install the DevOps development tools on Windows

Set up your computer Display the file extensions In Windows 10 Open File Explorer On the View tab select File name extensions Hidden items In Windows 7 Open Windows Explorer and select Organize Select Folder and search options On the View tab Select Show hidden files, folders, and drives Uncheck Hide extensions for known file […]

`block in filter_instances’: undefined method `empty?’ for nil:NilClass (NoMethodError)

When you try to execute any of the “kitchen” commands in Chef Test Kitchen you may get the following error message. lib/kitchen/config.rb:182:in `block in filter_instances’: undefined method `empty?’ for nil:NilClass (NoMethodError) This happened in my cookbook, when I have removed the value from the “excludes:” option in the .kitchen.yml file, but left the “excludes:” option […]

Serialize SSH and RSA private keys to store them in a Chef Data Bag

To send RSA private keys to instances, store them in encrypted data bags. The data bag item is a JSON file that contains keys and values inline. To place the multi-line RSA key into the value part of the JSON file, we need to replace the new line characters with the “\n” text. In Atom […]

HTTP Request Returned 409 Conflict: Client already exists

The Chef server maintains the list of registered nodes and clients in its database.  When you launch a new instance with Chef you may encounter the following error message: *** Input CHEF_CLIENT_NODE_NAME is undefined, using: IP-0AFE6965 … *** Starting chef-client *** Finished chef-client Printing Log … […] INFO: Client key C:\chef\client.pem is not present – […]

How to edit the GitHub README.md file

The GitHub repositories usually contain a README.md file to describe how to use the project. The GitHub web site has a simple editor, but it has a few limitations If you accidentally refresh the page, you lose your changes, The preview pane is wider than the page that will display your file, so the formatting can be […]