Skip to content

Instantly share code, notes, and snippets.

View stbenjam's full-sized avatar
🙃

Stephen Benjamin stbenjam

🙃
View GitHub Profile
@stbenjam
stbenjam / gist:2aa8f31bc869231d5f18
Created October 23, 2015 12:58
debian 8 api on http
/etc/salt/master:
external_auth:
pam:
saltuser:
- '@runner'
rest_cherrypy:
port: 9191
#!/usr/bin/env ruby
# This is the external nodes script to allow Salt to retrieve info about a host
# from Foreman. It also uploads a node's grains to Foreman, if the setting is
# enabled.
require 'yaml'
$settings_file = '/etc/salt/foreman.yaml'
SETTINGS = YAML.load_file($settings_file)
log {
module: DEFAULT
enable: debug+
timestamp: true
output: /var/log/qdrouterd.log
}
echo 'ForemanTasks::Task.where(:label => "Actions::Candlepin::ListenOnCandlepinEvents", :state => "running").map { |task| task.update_column(:state, "stopped") }' | foreman-rake console
User.current = User.anonymous_admin
SmartProxy.all.each do |proxy|
content_host = ::Katello::System.where(:name => proxy.name).order("created_at DESC").first
if content_host
proxy.content_host_id = content_host.id
proxy.save!
puts "Capsule #{proxy} has Content Host #{content_host}"
else
namespace :katello do
task :reconnect_capsule do
User.current = User.anonymous_admin
SmartProxy.all.each do |proxy|
content_host = ::Katello::System.where(:name => proxy.name).order("created_at DESC").first
if content_host
proxy.content_host_id = content_host.id
proxy.save!
cat <<EOF > /root/freeipa.txt
FreeIPA debug info:
Parameter: <%= @host.info['parameters']['realm'] %>
OTP: <%= @host.otp %>
Realm: <%= @host.realm %>
Realm Type: <%= @host.realm.realm_type %>
EOF
@stbenjam
stbenjam / gist:7a3d7668f37613ecab72
Last active August 29, 2015 14:21
Fix upload salt-reports
1. Edit /usr/sbin/upload-salt-reports
2. On line 55 change the {} to [] so it looks like this:
def run(function, argument=[]):
3. On Line 65 change return ret to this:
return ret['data'] if 'data' in ret else ret
4. Run upload-salt-reports by hand and see that it's uploading reports again
In usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_salt-2.0.2/app/services/foreman_salt/report_importer.rb:
Change this line:
time[:total] = time.values.inject(&:+)
To this:
time[:total] = time.values.compact.inject(&:+)
#!/usr/bin/env python
import json
import os
import sys
import salt.config
import salt.runner
if __name__ == '__main__':
__opts__ = salt.config.master_config(