populateSettingValuesFromConfigMap

in build/common/installer/scripts/tomlparser-agent-config.rb [88:184]


def populateSettingValuesFromConfigMap(parsedConfig)
  begin
    if !parsedConfig.nil? && !parsedConfig[:agent_settings].nil?
      if !parsedConfig[:agent_settings][:health_model].nil? && !parsedConfig[:agent_settings][:health_model][:enabled].nil?
        @enable_health_model = parsedConfig[:agent_settings][:health_model][:enabled]
        puts "enable_health_model = #{@enable_health_model}"
      end
      chunk_config = parsedConfig[:agent_settings][:chunk_config]
      if !chunk_config.nil?
        nodesChunkSize = chunk_config[:NODES_CHUNK_SIZE]
        if !nodesChunkSize.nil? && is_number?(nodesChunkSize) && (@nodesChunkSizeMin..@nodesChunkSizeMax) === nodesChunkSize.to_i
          @nodesChunkSize = nodesChunkSize.to_i
          puts "Using config map value: NODES_CHUNK_SIZE = #{@nodesChunkSize}"
        end

        podsChunkSize = chunk_config[:PODS_CHUNK_SIZE]
        if !podsChunkSize.nil? && is_number?(podsChunkSize) && (@podsChunkSizeMin..@podsChunkSizeMax) === podsChunkSize.to_i
          @podsChunkSize = podsChunkSize.to_i
          puts "Using config map value: PODS_CHUNK_SIZE = #{@podsChunkSize}"
        end

        eventsChunkSize = chunk_config[:EVENTS_CHUNK_SIZE]
        if !eventsChunkSize.nil? && is_number?(eventsChunkSize) && (@eventsChunkSizeMin..@eventsChunkSizeMax) === eventsChunkSize.to_i
          @eventsChunkSize = eventsChunkSize.to_i
          puts "Using config map value: EVENTS_CHUNK_SIZE = #{@eventsChunkSize}"
        end

        deploymentsChunkSize = chunk_config[:DEPLOYMENTS_CHUNK_SIZE]
        if !deploymentsChunkSize.nil? && is_number?(deploymentsChunkSize) && (@deploymentsChunkSizeMin..@deploymentsChunkSizeMax) === deploymentsChunkSize.to_i
          @deploymentsChunkSize = deploymentsChunkSize.to_i
          puts "Using config map value: DEPLOYMENTS_CHUNK_SIZE = #{@deploymentsChunkSize}"
        end

        hpaChunkSize = chunk_config[:HPA_CHUNK_SIZE]
        if !hpaChunkSize.nil? && is_number?(hpaChunkSize) && (@hpaChunkSizeMin..@hpaChunkSizeMax) === hpaChunkSize.to_i
          @hpaChunkSize = hpaChunkSize.to_i
          puts "Using config map value: HPA_CHUNK_SIZE = #{@hpaChunkSize}"
        end

        podsEmitStreamBatchSize = chunk_config[:PODS_EMIT_STREAM_BATCH_SIZE]
        if !podsEmitStreamBatchSize.nil? && is_number?(podsEmitStreamBatchSize) &&
           podsEmitStreamBatchSize.to_i <= @podsChunkSize && podsEmitStreamBatchSize.to_i >= @podsEmitStreamBatchSizeMin
          @podsEmitStreamBatchSize = podsEmitStreamBatchSize.to_i
          puts "Using config map value: PODS_EMIT_STREAM_BATCH_SIZE = #{@podsEmitStreamBatchSize}"
        end
        nodesEmitStreamBatchSize = chunk_config[:NODES_EMIT_STREAM_BATCH_SIZE]
        if !nodesEmitStreamBatchSize.nil? && is_number?(nodesEmitStreamBatchSize) &&
           nodesEmitStreamBatchSize.to_i <= @nodesChunkSize && nodesEmitStreamBatchSize.to_i >= @nodesEmitStreamBatchSizeMin
          @nodesEmitStreamBatchSize = nodesEmitStreamBatchSize.to_i
          puts "Using config map value: NODES_EMIT_STREAM_BATCH_SIZE = #{@nodesEmitStreamBatchSize}"
        end
      end
      
      fbit_config = parsedConfig[:agent_settings][:fbit_config]
      if !fbit_config.nil?
        fbitFlushIntervalSecs = fbit_config[:log_flush_interval_secs]
        if !fbitFlushIntervalSecs.nil? && is_number?(fbitFlushIntervalSecs) && fbitFlushIntervalSecs.to_i > 0
          @fbitFlushIntervalSecs = fbitFlushIntervalSecs.to_i
          puts "Using config map value: log_flush_interval_secs = #{@fbitFlushIntervalSecs}"
        end

        fbitTailBufferChunkSizeMBs = fbit_config[:tail_buf_chunksize_megabytes]
        if !fbitTailBufferChunkSizeMBs.nil? && is_number?(fbitTailBufferChunkSizeMBs) && fbitTailBufferChunkSizeMBs.to_i > 0
          @fbitTailBufferChunkSizeMBs = fbitTailBufferChunkSizeMBs.to_i
          puts "Using config map value: tail_buf_chunksize_megabytes  = #{@fbitTailBufferChunkSizeMBs}"
        end

        fbitTailBufferMaxSizeMBs = fbit_config[:tail_buf_maxsize_megabytes]
        if !fbitTailBufferMaxSizeMBs.nil? && is_number?(fbitTailBufferMaxSizeMBs) && fbitTailBufferMaxSizeMBs.to_i > 0           
          if fbitTailBufferMaxSizeMBs.to_i >= @fbitTailBufferChunkSizeMBs
            @fbitTailBufferMaxSizeMBs = fbitTailBufferMaxSizeMBs.to_i
            puts "Using config map value: tail_buf_maxsize_megabytes = #{@fbitTailBufferMaxSizeMBs}"
          else
            
            @fbitTailBufferMaxSizeMBs = @fbitTailBufferChunkSizeMBs
            puts "config::warn: tail_buf_maxsize_megabytes must be greater or equal to value of tail_buf_chunksize_megabytes. Using tail_buf_maxsize_megabytes = #{@fbitTailBufferMaxSizeMBs} since provided config value not valid"
          end
        end
        
        if  @fbitTailBufferChunkSizeMBs > 0  && @fbitTailBufferMaxSizeMBs == 0
          @fbitTailBufferMaxSizeMBs = @fbitTailBufferChunkSizeMBs
          puts "config::warn: since tail_buf_maxsize_megabytes not provided hence using tail_buf_maxsize_megabytes=#{@fbitTailBufferMaxSizeMBs} which is same as the value of tail_buf_chunksize_megabytes"
        end 

        fbitTailMemBufLimitMBs = fbit_config[:tail_mem_buf_limit_megabytes]
        if !fbitTailMemBufLimitMBs.nil? && is_number?(fbitTailMemBufLimitMBs) && fbitTailMemBufLimitMBs.to_i > 0
          @fbitTailMemBufLimitMBs = fbitTailMemBufLimitMBs.to_i
          puts "Using config map value: tail_mem_buf_limit_megabytes  = #{@fbitTailMemBufLimitMBs}"
        end
      end
    end
  rescue => errorStr
    puts "config::error:Exception while reading config settings for agent configuration setting - #{errorStr}, using defaults"
    @enable_health_model = false
  end
end