Category: Continuous Integration
-
Standalone puppet with hiera 5 error…
With puppet moving more and more away from supporting a standalone model, it’s somewhat difficult to get puppet standalone working. I recently got bit by a hiera update that caused my puppet standalone deployments to stop interacting with hiera the way that I had deployed it. Affected versions: puppet 4.10.10 hiera 3.4.3 The error that…
-
Adding Global Environment Variables to Jenkins via puppet…
When using Jenkins in any environment, it’s useful to have variables related to that environment available to Jenkins jobs. I recently worked on a project where I used puppet to deploy global environment variables to Jenkins for use with AWS commands — typically to execute the awscli, one must have knowledge of the region, account,…
-
Retrieving puppet facts from AWS System Manager
AWS System Manager makes it easy to store and retrieve parameters for use across servers, services, and applications in AWS. One great benefit is storing secrets for use, as needed. I recently needed to retrieve some parameters to place in a configuration file via puppet and wrote a short script to retrieve these values as…
-
Running Apache 2 under Ubuntu 16.04 on Docker
I recently wanted to setup a new Ubuntu 16.04 host running Apache under Docker for some AWS ECS/Fargate testing I was doing and encountered the following error: docker run -p 8085:80 aws-ecr-hello-world:v0.5 [Thu Mar 15 00:11:31.074011 2018] [core:warn] [pid 1] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined [Thu Mar 15 00:11:31.074576 2018] [core:warn] [pid 1]…
-
The Phoenix Project
I recently stumbled upon a novel that talks about managing IT Operations. “The Phoenix Project”, by Gene Kim, Kevin Behr, and George Spafford. Wow, what a great read. This book accurately describes many of my experiences in IT with many different companies. This book has some exceptional concepts around optimizing interaction between Development, IT Operations,…
-
Powershell to ElasticSearch to find ElastAlert
I recently worked on an interesting project where I needed to use a powershell script to query ElasticSearch to find a document that was inserted via ElastAlert. The purpose of this exercise was to determine whether or not a service had been marked down recently, which would determine whether an operation ran that might take…
-
ruby aws-sdk strikes again…
When using ruby to upload files to S3 and trying to use multipart upload, beware the following ArgumentError: …param_validator.rb:32:in `validate!’: unexpected value at params[:server_side_encryption] (ArgumentError) … from /var/lib/jenkins/.gem/ruby/gems/aws-sdk-core-3.6.0/lib/seahorse/client/request.rb:70:in `send_request’ from /var/lib/jenkins/.gem/ruby/gems/aws-sdk-s3-1.4.0/lib/aws-sdk-s3/client.rb:3980:in `list_parts’ … The options passed to list_parts must not include “server_side_encryption”. I always forget to remove this parameter. A good way that I have…
-
Puppet deprecation in stdlib module…
As part of the long upgrade to become fully compatible with puppet 4 and drop puppet 3 support — version 4.13+ of the stdlib module introduced some breaking changes for other modules that I use. I recently upgrade some individual modules using the ‘puppet module upgrade’ method. Upon upgrading, I received the following message: Error:…
-
docker run docs confusing – which port?
I was reviewing the docker docs today in an attempt to get things working on OSX and ran into a conflict when starting a new container running nginx. The docs say to run the following command: > docker run -d -p 80:80 –name webserver nginx That seems pretty straight forward, so I ran the command:…
-
Throttling Requests with the Ruby aws-sdk
A common problem of late is throttling requests when using the ruby aws-sdk gem to access AWS services. Handling these exceptions is fairly trivial with a while loop like the following: retry_count = 0 retry_success = 0 while retry_success == 0 retry_success = 1 begin # # enter code to interact with AWS here #…