Skip to content

Instantly share code, notes, and snippets.

💭
Happy hacking 👨 ⌨️ 💻

Ivan Necas iNecas

💭
Happy hacking 👨 ⌨️ 💻
Block or report user

Report or block iNecas

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View bin_i3-lock-screen.sh
#!/usr/bin/env sh
i3lock -i ~/.config/i3/lock_screen.png
@iNecas
iNecas / rest_client_2_log.patch
Last active Oct 19, 2018
RestClient 2.0 patch for more readable debug logging
View rest_client_2_log.patch
commit 13c25907e7c750eb1f4e19508e6e7aa528dd2f3a
Author: root <root@provisioning.sysmgmt.lan>
Date: Fri Oct 19 16:47:55 2018 +0200
add more logging
diff --git a/lib/restclient.rb b/lib/restclient.rb
index bdb53f0..588318b 100644
--- a/lib/restclient.rb
+++ b/lib/restclient.rb
@iNecas
iNecas / capsule-sync-analyze.rb
Created Oct 10, 2018
capsule-sync-analyze.rb
View capsule-sync-analyze.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'nokogiri'
require 'set'
require 'yaml'
require 'time'
# Usage:
#
# # run inside a directory with extracted task export
@iNecas
iNecas / $*_vs_$@
Last active Aug 15, 2018
Difference between $* and "$@"
View $*_vs_$@
./test_args.sh "one two" three
with $*
["one", "two", "three"]
with "$@"
["one two", "three"]
@iNecas
iNecas / orhpaned_execution_plans_cleanup.sh
Created Jun 19, 2018
orhpaned_execution_plans_cleanup.sh
View orhpaned_execution_plans_cleanup.sh
cat <<EOF | foreman-rake console
conf.return_format = ""
batch_size = 1000
persistence = ForemanTasks.dynflow.world.persistence
adapter = persistence.adapter
plans_without_tasks = adapter.db.fetch("select dynflow_execution_plans.uuid from dynflow_execution_plans left join foreman_tasks_tasks on (dynflow_execution_plans.uuid = foreman_tasks_tasks.external_id) where foreman_tasks_tasks.id IS NULL")
deleted = 0
total = plans_without_tasks.count
plans_without_tasks.all.map{|x| x[:uuid]}.in_groups_of(batch_size, false).each do |uuids|
delete_count = persistence.delete_execution_plans({ 'uuid' => uuids }, batch_size)
@iNecas
iNecas / tasks-action-times.rb
Last active Jun 18, 2018
tasks-action-times.rb
View tasks-action-times.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'nokogiri'
# Usage:
#
# # extract the data to csv
# ruby tasks-action-times.rb my-tasks-export/*.html > action_times.csv
#
# # get top 20 actions with the highest execution time:
@iNecas
iNecas / fips_workaround.sh
Last active Jul 20, 2018
FIPS Ruby MD5 workaround
View fips_workaround.sh
# WARNING: for testing only: don't apply to production without testing.
# A set of workaround patches to use different hash algorithm in Foreman and log the usage instead of failing right away.
# https://bugzilla.redhat.com/show_bug.cgi?id=1552159#c5
function puppet-certs {
if grep empty-password /usr/share/katello-installer-base/modules/certs/manifests/ssltools/nssdb.pp
then
echo "Puppet - certs already patched"
return
@iNecas
iNecas / rex_outputs.rb
Created Aug 10, 2017
script for collecting outputs from rex commads to csv via hammer
View rex_outputs.rb
#!/usr/bin/env ruby
require 'json'
require 'csv'
unless ARGV.first
puts "Usage: HAMMER_USER=admin HAMMER_PASSWORD=changeme rex_outputs.rb JOB_INVOCATION_ID"
exit 1
else
@job_invocation_id = ARGV.first
end
View pry-remote-setup.txt
scl enable tfm bash
gem install pry-remote
setenforce 0
# in code:
# require 'pry-remote'; binding.remote_pry
$(dirname $(gem which pry-remote))/../bin/pry-remote
@iNecas
iNecas / foreman_tasks_extract_data.rb
Created Jun 26, 2017
Get raw action data from task in JSON format.
View foreman_tasks_extract_data.rb
# Get raw action data from task in JSON format.
#
# usage:
#
# TASK_IDS="TASK_ID_1,TASK_ID_2" \
# foreman-rake console 2>/dev/null < foreman_tasks_extract_data.rb | \
# grep "^OUT: " | sed "s/^OUT: //g"
task_ids = ENV['TASK_IDS'].split(',').map(&:strip)
You can’t perform that action at this time.