Skip to content

Instantly share code, notes, and snippets.

@quantonganh
quantonganh / gem list --local
Created December 20, 2013 08:44
openssl.bundle: [BUG] Segmentation fault
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/openssl.bundle: [BUG] Segmentation fault
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
the more detail of.
@quantonganh
quantonganh / salt.utils.compare_dicts.md
Last active January 1, 2016 14:49
brew module - AttributeError: 'module' object has no attribute 'compare_dicts'

salt --versions-report:

           Salt: 0.17.2
         Python: 2.7.6 (default, Nov 19 2013, 02:02:54)
         Jinja2: 2.7.1
       M2Crypto: 0.21.1
 msgpack-python: 0.4.0
   msgpack-pure: Not Installed
       pycrypto: 2.6.1
{%- macro passive_check(state, service) -%}
{%- set state_checks = salt['monitoring.discover_checks_passive'](state) -%}
{%- for host in pillar['shinken_pollers'] -%}
*/{{ state_checks[service]['passive_interval'] }} * * * * nagios output=$({{ state_checks[service]['check_command'] }}); return_code=$?; printf "%s\t%s\t%s\t%s\n" "{{ grains['id'] }}" "{{ service }}" "$return_code" "$output" | /usr/local/nagios/bin/py_send_nsca -H {{ host }} -c /etc/send_nsca.conf
{%- endfor -%}
{%- endmacro %}
@quantonganh
quantonganh / rsyslog.nrpe
Created January 16, 2014 04:58
Calling a macro in sls file
{%- for state in pillar['monitoring']['states'] -%}
{%- for name in salt['monitoring.discover_checks_passive'](state) %}
/etc/cron.d/passive-checks:
file:
- append
- text: |
{{ passive_check(state, name) }}
{%- endfor -%}
{%- endfor %}
```
/etc/cron.d/passive-checks:
file:
- append
- text: |
*/5 * * * * nagios output=$(/usr/lib/nagios/plugins/check_procs -c 1:1 -C rsyslogd -u syslog); return_code=$?; printf "%s\t%s\t%s\t%s\n" "q-mail" "rsyslogd_procs" "$return_code" "$output" | /usr/local/nagios/bin/py_send_nsca -H 10.134.151.217 -c /etc/send_nsca.conf
*/5 * * * * nagios output=$(/usr/lib/nagios/plugins/check_procs -c 1:1 -C rsyslogd -u syslog); return_code=$?; printf "%s\t%s\t%s\t%s\n" "q-mail" "rsyslogd_procs" "$return_code" "$output" | /usr/local/nagios/bin/py_send_nsca -H 10.134.185.197 -c /etc/send_nsca.conf
```
elif 'key_url' in kwargs:
key_url = kwargs['key_url']
cmd = 'wget -q -O- "{0}" | gpg --no-default-keyring --keyring {1}/trustedkeys.gpg --import'.format(key_url, gnupghome)
ret = __salt__['cmd.run_all'](cmd, **kwargs)
if ret['retcode'] != 0:
raise CommandExecutionError(
'Error: key retrieval failed: {0}'.format(ret['stderr'])
)
{%- set project_name = data['data']['name'] %}
{%- set project_url = data['data']['url'] %}
{%- set branch = data['tag'][7:] %}
{% if data['id'] == 'MacBook-Pro.local' %}
git_pull:
cmd.state.single:
- tgt: 'MacBook-Pro.local'
- arg:
- git.latest
python:
deploy_master:
minionid: MacBook-Pro.local
target: /Users/quanta/tmp/python
user: quanta
[DEBUG ] Compiling reactions for tag deploy_master
Process Reactor-4:
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/salt/utils/event.py", line 529, in run
chunks = self.reactions(data['tag'], data['data'], reactors)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/salt/utils/event.py", line 505, in reactions
high.update(self.render_reaction(fn_, tag, data))
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/salt/utils/event.py", line 455, in render_reaction
#!/usr/bin/env python
import os
import json
import salt.client
import salt.syspaths as syspaths
def application(environ, start_response):
length = environ.get('CONTENT_LENGTH', '0')