profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/lamont-granquist/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Lamont Granquist lamont-granquist @chef Seattle, WA

MuMech/MechJeb2 824

MechJeb2 - KSP mod

Foodcritic/foodcritic 421

Lint tool for Chef cookbooks.

chef-boneyard/stove 174

DEPRECATED: A utility for packaging and releasing Chef cookbooks

chef-boneyard/locale 27

Chef cookbook to configure the system locale on Linux systems

coderanger/dco 17

A command line tool to help manage projects using the Developer Certificate of Origin contributor workflow.

Foodcritic/foodcritic-site 3

The website for foodcritic.

lamont-granquist/PrimerVectorMechJeb 2

MechJeb Primer Vector Guidance development

chef/aix-wpar 1

A ruby wrapper library for the AIX WPAR administration.

lamont-granquist/decoplan 1

Ruby decoplanner library with a DSL and Pry-based console REPL

lamont-granquist/primervector-matlab 1

Matlab rocket trajectory optimization using Primer Vector theory / Pontryagin's Maximum Principle

push eventchef/chef

Jason Barnett

commit sha 21a0f21a3231139ca4ca18f7bf4f0fd6f6bcd172

Exclude running libarchive tests on platforms where loading libarchive is broken Signed-off-by: Jason Barnett <jason.w.barnett@gmail.com>

view details

Lamont Granquist

commit sha 2ebf3371e6caf688fa88f98ee372be79c0ccf8cb

Merge pull request #12084 from jasonwbarnett/rollback/archive_file-unit

view details

push time in 18 minutes

PR merged chef/chef

Exclude running libarchive tests on platforms where loading libarchive is broken

Description

This aims to exclude testing archive_file in CI environments where libarchive loading is broken. This is intended to be temporary while working through issues in various CI pipelines.

Related Issue

N/A

Types of changes

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [x] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

  • [ ] I have read the CONTRIBUTING document.
  • [ ] I have run the pre-merge tests locally and they pass.
  • [ ] I have updated the documentation accordingly.
  • [ ] I have added tests to cover my changes.
  • [ ] All new and existing tests passed.
  • [ ] All commits have been signed-off for the Developer Certificate of Origin.
+22 -4

0 comment

4 changed files

jasonwbarnett

pr closed time in 18 minutes

PullRequestReviewEvent
PullRequestReviewEvent

push eventchef/chef

Lamont Granquist

commit sha 78bff4860f2b6e12d4d49db37ed604bdecc49750

add examples to remote_file Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 20 hours

push eventchef/chef

Lamont Granquist

commit sha d8dea6c5328e07d1093d0caa9f06acdb1b60abf5

cspell Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 21 hours

push eventchef/chef

Lamont Granquist

commit sha ec68ac941e7bc6c74ef9b8e5a4d5152cad520d63

add introduced Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 21 hours

PR opened chef/chef

Add http_options property to remote_file

This lets the remote_file resource set any of the Chef::HTTP options.

It also exposes the Net::HTTP settings like "ssl_timeout" through a "nethttp" sub-hash.

Note that "rest_timeout" can set be set at the higher level which is the Chef::HTTP/Chef::Config option that winds up setting both the read_timeout and open_timeout to the same value at the lower nethttp setting. Setting the nethttp settings explicitly will override those completely.

The defaults on the read_timeout and open_timeout are 300 seconds (due to needing to work around crushed chef-servers caused by thundering herd starts of hundreds of chef-clients at the same time). Since that may also happen with thundering herds of chef-clients hammering on some expensive remote_file resource at the same time that default is deliberately kept to avoid a breaking change.

remote_file "/tmp/remote_file.out" do
  source "https://www.chef.io"
  http_options({ 
    http_retry_delay: 0,
    http_retry_count: 0,
    keepalives: false,
    nethttp: { 
      continue_timeout: 5,
      max_retries: 5,
      read_timeout: 5,
      write_timeout: 5,
      ssl_timeout: 5,
    },
  })
end
+74 -13

0 comment

7 changed files

pr created time in 21 hours

push eventchef/chef

Lamont Granquist

commit sha f889bd464296ffc96dc2fd27fbccdab409f732b8

Add ability to modify net-http settings Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 21 hours

create barnchchef/chef

branch : lcg/remote-file-http-options

created branch time in a day

Pull request review commentsous-chefs/grafana

General refactoring and automatic config accumulators

+# Cookbook:: grafana+# Library:: _utils+#+# Copyright:: 2021, Sous Chefs+#+# Licensed under the Apache License, Version 2.0 (the "License");+# you may not use this file except in compliance with the License.+# You may obtain a copy of the License at+#+#     http://www.apache.org/licenses/LICENSE-2.0+#+# Unless required by applicable law or agreed to in writing, software+# distributed under the License is distributed on an "AS IS" BASIS,+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+# See the License for the specific language governing permissions and+# limitations under the License.+#++require_relative '_utils'+require_relative 'ini'+require_relative 'toml'++module Grafana+  module Cookbook+    module ConfigHelper+      include Grafana::Cookbook::IniHelper+      include Grafana::Cookbook::TomlHelper+      include Grafana::Cookbook::Utils++      GLOBAL_CONFIG_PROPERTIES_SKIP = %i(conf_directory config_file cookbook source source_ldap source_env owner group filemode sensitive extra_options).freeze+      private_constant :GLOBAL_CONFIG_PROPERTIES_SKIP++      private++      def resource_properties+        properties = instance_variable_defined?(:@new_resource) ? new_resource.class.properties(false).keys : self.class.properties(false).keys+        Chef::Log.debug("resource_properties: Got properties from resource: #{properties.join(', ')}")+        properties.reject! { |p| GLOBAL_CONFIG_PROPERTIES_SKIP.include?(p) }++        if respond_to?(:resource_config_properties_skip)+          Chef::Log.debug("resource_properties: Resourced defined skip properties: #{resource_config_properties_skip.join(', ')}")+          properties.reject! { |p| resource_config_properties_skip.include?(p) }+        end++        Chef::Log.info("resource_properties: Filtered properties: #{properties.join(', ')}")+        properties+      end++      def accumulator_config(action, key, value)+        path = if respond_to?(:resource_config_path_override)+                 raise ArgumentError, 'Path override should be specified as an Array' unless resource_config_path_override.is_a?(Array)+                 resource_config_path_override+               else+                 resource_default_config_path+               end++        config_hash = accumulator_config_path_init(*path)+        Chef::Log.debug("Append to config key #{key}, value #{value} on path #{path.map { |p| "['#{p}']" }.join}")++        case action+        when :set+          config_hash[key] = value+        when :append+          config_hash[key] ||= ''+          config_hash[key].concat(value.to_s)+        when :push+          config_hash[key] ||= []+          config_hash[key].push(value)+        when :delete+          config_hash.delete(key) if config_hash.key?(key)+        else+          raise ArgumentError, "Unsupported accumulator config action #{action}"+        end+      end++      def config_template_exist?+        Chef::Log.debug("config_template_exist?: Checking for config file #{new_resource.config_file}")+        config_resource = !find_resource!(:template, ::File.join(new_resource.config_file)).nil?++        Chef::Log.debug("config_template_exist?: #{config_resource}")+        config_resource+      rescue Chef::Exceptions::ResourceNotFound+        Chef::Log.info("config_template_exist?: Config file #{new_resource.config_file} ResourceNotFound")+        false+      end++      def init_config_template(load_existing = false)+        return false if config_template_exist?++        Chef::Log.debug("init_config_template: Creating config template resource for #{new_resource.config_file}")++        with_run_context(:root) do+          declare_resource(:chef_gem, 'deepsort') { compile_time true } unless gem_installed?('deepsort')

this is going into the root run_context which doesn't have unified_mode

declaring compile_time resources in the root run context is really weird though, particularly to install gems. the idempotency check here is also a codesmell.

i don't know why this isn't just chef_gem 'deepsort'

if it needs to be done at the outer context with idempotency around the resource and forced to compile time:

find_resource(:chef_gem, 'deepsort') { compile_time true }

bmhughes

comment created time in a day

PullRequestReviewEvent

push eventchef/chef

Lamont Granquist

commit sha e234343d17f2026d8851c95511cb3bea229dbf0a

Disable gem vendoring caching for berkshelf This causes issues with the tests Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

Lamont Granquist

commit sha 22c368cded83bd2dc54b709c7e63e462c1041f91

Merge pull request #12072 from chef/lcg/no-caching

view details

push time in 2 days

delete branch chef/chef

delete branch : lcg/no-caching

delete time in 2 days

PR merged chef/chef

try a build with no vendor caching Expeditor: Skip Changelog

fixes CI

+0 -1

0 comment

1 changed file

lamont-granquist

pr closed time in 2 days

push eventchef/chef

Jason Barnett

commit sha b6d23f485f2a34ce119cab6e033eaa4ad0f32a55

Use bundle config set path Signed-off-by: Jason Barnett <jason.w.barnett@gmail.com>

view details

Tim Smith

commit sha 5063128091563105cbe4135b3d1b22b1b9bf5641

Merge pull request #12069 from jasonwbarnett/bugfix/update-bundler-calls Update bundle config set path

view details

Chef Expeditor

commit sha 48d324211da41ee21632926269622af71182f88c

Bump version to 17.5.15 by Chef Expeditor Obvious fix; these changes are the result of automation not creative thinking.

view details

Lamont Granquist

commit sha e234343d17f2026d8851c95511cb3bea229dbf0a

Disable gem vendoring caching for berkshelf This causes issues with the tests Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 2 days

push eventchef/chef

Lamont Granquist

commit sha d5d2ae49107f6c016254e1c196ecb2b8385d31c2

disable vendor caching for berkshelf the gem caching messes up the berks tests Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>

view details

push time in 2 days

PullRequestReviewEvent

PR opened chef/chef

try a build with no vendor caching
+0 -2

0 comment

1 changed file

pr created time in 2 days

create barnchchef/chef

branch : lcg/no-caching

created branch time in 2 days

PullRequestReviewEvent

pull request commentchef/chef

revert to Chef 16 behavior for systemd unit 'enable?'

okay i think i'm okay with this. it looks like we have to have two shell_outs at least for now. we need all the other information elsewhere. we populate the current_resource with all the information and i can't think of a way to make them lazy without making it all mildly awful code. it is necessary for RHEL7 support.

@joshuamiller01 i actually would probably accept a PR that constructed the current resource using current_resource.enabled lazy { currently_enabled? } or something like that and maybe pull enabled out of the hash state that gets built (if that works -- it works in my head)

rpunt

comment created time in 2 days

PullRequestReviewEvent

pull request commentchef/chef

revert to Chef 16 behavior for systemd unit 'enable?'

@rpunt it looks like this is missing DCO signoff of at least one of the commits (squashing it down to one, rebasing and force pushing would be fine)

rpunt

comment created time in 2 days

PullRequestReviewEvent

Pull request review commentchef/chef

use powershell_exec helper in powershell_package resource

 def error!      protected

please change this to private (if that doesn't cause test to fail)

rishichawda

comment created time in 2 days

Pull request review commentchef/chef

use powershell_exec helper in powershell_package resource

 class PowerShell     #     # @param script [String] script to run     # @return [Object] output-    def initialize(script)+    def initialize(script, timeout = -1)

this needs to be a named parameter and should probably default to nil like timeout: nil

then nil values should be coerced to -1 in exec before passing it into FFI

rishichawda

comment created time in 2 days

PullRequestReviewEvent

pull request commentchef/chef

use powershell_exec helper in powershell_package resource

There seem to be relevant unit tests that are failing. At least one of them is a real problem with the signature, the interpreter one seems like it is probably real as well.

rishichawda

comment created time in 2 days

PullRequestReviewEvent