How Do You Troubleshoot “Caught: java.lang.ArrayStoreException: org.codehaus.groovy.runtime.GStringImpl” when running a Groovy Program?

Problem scenario
You are running a Groovy program. 

Here is your code:

def input = System.console().readLine ‘Please provide some input: ‘
def x = input
def boardArray = new String[2]
boardArray[0] = “”
boardArray[1] = “”
boardArray[1] = “$x”
println boardArray[1]

When you run it (i.e., with groovy foobar.groovy), you get this error:

Caught: java.lang.ArrayStoreException: org.codehaus.groovy.runtime.GStringImpl
java.lang.ArrayStoreException: org.codehaus.groovy.runtime.GStringImpl

What should you do?

What is the Westrum Cultural Model?

Question
What is the Westrum Cultural Model?

Answer
Merriam-Websters Collegiate Dictionary 11th Edition defines culture as “the set of shared attitudes, values, goals, and practices that characterizes an institution or organization.”

What we might call the “Westrum Cultural Model,” based on Ron Westrum’s “The Three Cultures Model”, (according to this site), consists of three categories of corporate culture.  These three are pathological,

When Using Jenkins, What Are the Differences between a Declarative Pipeline and a Scripted Pipeline?

Question
In the context of Jenkinsfiles, there are two types of pipelines: declarative and scripted.  What are the differences between these two types?

Answer
1.  The syntax of the two is one difference.  While both are based on Groovy, Declarative Pipeline syntax is more simple (according to this posting).  Declarative Pipeline syntax follows more of an declarative paradigm whereas Scripted Pipeline syntax follows more of a imperative paradigm (according to this posting).

How Do You Troubleshoot the “kops” error “unable to infer CloudProvider from Zones (is there a typo in –zones?)”?

Problem scenario
You run a “kops” command but you receive this error:

“unable to infer CloudProvider from Zones (is there a typo in –zones?)”

How do you get the “kops” command to work?

Solution
There is a value and a format that are necessary for your kops’ “–zones” flag.

Determine what region you want to know the zone name for (e.g.,

How Do You Troubleshoot “groovy.lang.MissingPropertyException: No such property” when running a Groovy Program?

Problem scenario
You are running a Groovy program.  

Here is your code:

def input = System.console().readLine ‘Please provide some input: ‘
def x = input
def boardArray = new String[2]
boardArray[0] = “”
boardArray[1] = “”
boardArray[1] = $x //this is the incorrect version
println boardArray[1]

When you run it (i.e., with groovy foobar.groovy), you get this error:

Caught: groovy.lang.MissingPropertyException: No such property: $x for class:
groovy.lang.MissingPropertyException: No such property

What should you do?

How Do You Troubleshoot the Amazon EKS Web Console Error “AccessDeniedException not authorized to perform: iam:PassRole on resource”?

Problem scenario
You are logged into the AWS web console.  You try to perform an operation but you get this error:

“AccessDeniedException
User: arn:aws:iam::12345678910:user/jdoe is not authorized to perform: iam:PassRole on resource: arn:aws:iam::12345678910:role/rolename”

What should you do?

Solution
1.  Create a role with “EKS” (to create Kubernetes clusters).  If you don’t know how, see this posting.
2.  Follow steps 1,

How Do You Troubleshoot the “kubectl” Error ‘the server doesn’t have a resource type “svc”‘?

Problem scenario
You are trying to use Kubernetes in AWS.  You have installed kubectl and you run this command:

kubectl get svc

You receive this:  ‘error: the server doesn’t have a resource type “svc”‘

You try again with a more verbose output.  You run this command:

kubectl get svc -v=8

In the output you see messages like this: “Response Status: 401 Unauthorized in 73 milliseconds”

What should you do to use kubectl with AWS?

How Do You Determine the URL for the AWS Web Console for a Non-root User?

Problem scenario
You created an AWS Console user (e.g., an IAM user).  You want to log into the web UI with the user.  You have the username and password.  What is the URL for the AWS web console for a non-root user?

Solution
1.  Log into the web UI.
2.  Go here: https://console.aws.amazon.com/iam/home?
3.  Go to Users on the left.  
4.