How Do You Run a Bolt Command from a Linux Server to a Windows Server?

Problem scenario
You want to run a PowerShell script or run an interactive command on a Windows server. You have Puppet Bolt installed on a Linux server. You do not need to use SSL. What do you do?

Solution
Run a command like this (but substitute x.x.x.x with the IP address of the Windows server, jdoe with the username and coolpassword with jdoe’s password):

bolt command run “Get-Process” –Targets winrm://x.x.x.x –no-ssl –user jdoe –password coolpassword

To run a script called “cool.ps1”,

How Do You Install Puppet Master Version 6 on a RHEL Version 8.x Server?

Problem scenario
You want to install Puppet Master version 6.x on a RHEL version 8.x server. What do you do?

Solution
Run this script:

#!/bin/bash
# Written by continualintegration.com

yum -y update
rpm -ivh https://yum.puppetlabs.com/puppet6/puppet6-release-el-8.noarch.rpm
# rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-8.noarch.rpm
# To install a legacy version of Puppet (3.x), comment out the first rpm stanza and uncomment out the second.

yum -y install puppetserver
ln -s /opt/puppetlabs/puppet/bin/puppet /usr/bin/puppet …

How Do You Install and Configure Chef Client on a Linux Server in AWS or Azure?

Updated 11/9/17

Problem scenario
In AWS or Azure you have Linux instances that you want to be configured to use a Chef Server.  How do you install Chef client and configure it to work with a Chef server?

Solution
These directions have been tested in Azure (with an Ubuntu 16.x server as either the Chef client node or the Chef server) and AWS (with a Red Hat Enterprise Linux 7.x server as the Chef client node or the Chef server).

How Do You Troubleshoot an Ansible Playbook Failing with “The filter … is invalid…AttributeError: Client Error object has no attribute message”?

Problem scenario
Your playbook fails with the following message: “The filter … is invalid…AttributeError: Client Error object has no attribute message”?

What should you do?

Solution
Remove the word “filter” and try your playbook again.

How Do You Use Ansible to Have Retrievable Double Quotes ‘”‘ in a Variable?

Problem scenario
You are using Ansible, and you want a playbook to have a variable with double quotes. The double quotes are disappearing from your echo var1.stdout[:] invocations. How do you get shell/bash commands to have double quotes?

Solution
Rather than “echo” a string with double quotes, use a variable assignment. Do not use this: echo “a \”long string\” for a \”test\” “

Use something like this: coolstring=”a \”long string\” for a \”test\” ” &&

How Do You Fix the Stack Storm Error “Failed to authenticate”?

Problem scenario
You run an st2 command, but it fails with an error like this:

Failed to authenticate with credentials provided in the config.
ERROR: 401 Client Error: Unauthorized
MESSAGE: Invalid or missing credentials for url: http://127.0.0.1:9100/tokens

What should you do?

Solution
Run a command like this (but replace “jdoe” and “passwordhere” with your credentials respectively):

st2 login jdoe –password ‘passwordhere’

Now run the st2 command(s).

How Do You Troubleshoot the Error “unexpected EOF while looking for match `\”‘”?

Problem scenario
You run a Bash command or an Ansible playbook, but you get stymied by this problem: “unexpected EOF while looking for match `\”‘”

What should you do when you see this message?

Solution
Verify your escape characters have a space after the symbol that they are escaping.

For example, if you have \””

change it to \” “

The escape character may be working on two sequential symbols (without a space).

What Is the Syntax for Viewing ec2_instance_info Return Values in Ansible?

Problem scenario
You read about a supported data type (defined keys) in Ansible playbooks related to EC-2 servers in AWS. How do you view this data?

Solution

  1. Have a playbook (.yaml file) with the following syntax:

ec2_instance_info:
region: us-west-1
register: vara

  1. Refer to vara as a variable. Here is an example of how to see it:

debug:
msg: “{{ item.instance_id }}”
loop: “{{ vara.instances }}”