Skip to content

Instantly share code, notes, and snippets.

View 4383's full-sized avatar
🏠
Working from home

Hervé Beraud 4383

🏠
Working from home
View GitHub Profile
@4383
4383 / log.py
Created April 4, 2019 15:56
log with python
import logging
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger('foo').debug('bah')
logging.getLogger().setLevel(logging.INFO)
logging.getLogger('foo').debug('debug')
logging.getLogger('foo').info('info')
logging.getLogger('foo').warn('warn')
@4383
4383 / nova-restart.sh
Created April 17, 2019 16:06
restart all nova containers
# On controllers
# ssh heat-admin@<controller-ip>
for el in $(sudo docker ps | grep nova | awk '{print $1}'); do sudo docker restart $el; done
@4383
4383 / patch.sh
Last active April 24, 2019 16:24
patch code from review
for el in $(ls /var/log/containers); do cp -v /var/log/containers/nova/impl_rabbit.py /var/log/containers/${el}; done
for el in $(infect_who_use_oslo messaging); do \
name=$(echo $el | awk -F "_" '{print $1}'); \
echo -e "patch ${name}\n"; \
docker exec -it --user root ${el} cp /var/log/${name}/impl_rabbit.py /usr/lib/python2.7/site-packages/oslo_messaging/_drivers; \
docker restart ${el}; \
done
curl -4 https://review.opendev.org/changes/643056/revisions/current/patch?download | base64 -d | sudo patch -p1
@4383
4383 / scan.sh
Last active May 3, 2019 17:36
scan python dependencies
cd /tmp
mkdir keystone
pipenv shell
pip install keystone
pypath=$(dirname $(which python) | sed 's/bin/lib/g')
grep -ri ${mypath} -e subprocess -exclude-dir="*/__pycache__" | grep import | more
@4383
4383 / padding.py
Last active May 4, 2019 16:03
Test padding implementation
threads = [
"",
"1111111111111-thread1-base ",
"1111111111111-thread2-base ",
"1111111111111-thread3-very-long ",
"1111111111111-short ",
"1111111111111-thread4-base ",
"1111111111111-thread3-very-long-long ",
"1111111111111-short ",
"1111111111111-thread5-base ",
@4383
4383 / trigger-zuul-periodic-job.sh
Created May 15, 2019 12:16 — forked from mgagne/trigger-zuul-periodic-job.sh
Trigger a Zuul periodic job
./tools/trigger-job.py --job periodic-foobar-proposal --project dev/foobar --pipeline periodic --url https://zuul.example.org/p --logpath /dev/null --newrev refs/heads/master --refname refs/heads/master
@4383
4383 / openstack-oslo-projects.yaml
Last active May 16, 2019 16:39
Openstack oslo projects - yaml format to automatize things
projects:
automaton:
Summary: a framework for building state machines.
Proposal: https://review.openstack.org/#/c/141961/
Source: http://git.openstack.org/cgit/openstack/automaton
Bugs: https://bugs.launchpad.net/automaton
Core: https://review.openstack.org/#/admin/groups/106,members
Documentation: http://docs.openstack.org/developer/automaton/
Github: https://github.com/openstack/automaton
castellan:
@4383
4383 / test.py
Created May 17, 2019 14:11 — forked from zzzeek/test.py
Python getargspec, getfullargspec, Signature performance comparison
# So interestingly, Signature seems to be twice as fast in Python 3.6 and 3.7 as it
# was in Python 3.3 and 3.4. However, it is still 6-18 times slower than the old
# getargspec or getfullargspec that was in Python 3.3.
Python 2.7 getargspec (doesn't use Signature) : specimen_one (6 args) : 0.0503
Python 2.7 getargspec (doesn't use Signature) : specimen_two (0 args) : 0.0496
Python 2.7 getargspec (doesn't use Signature) : specimen_three (6 args) : 0.0500
Python 2.7 getargspec (doesn't use Signature) : specimen_four (13 args) : 0.0652
Python 3.3 getfullargspec (doesn't use Signature) : specimen_one (6 args) : 0.0539
@4383
4383 / eventlet_threading.py
Created June 4, 2019 16:57
verify that the threading module come from the stdlib
import eventlet
import threading
eventlet.monkey_patch()
print(threading.current_thread.__module__)
# Will print "eventlet.green.threading"
assert threading.current_thread.__module__ == 'threading'
# Will raise the following assertion error:
# Traceback (most recent call last):
@4383
4383 / eventlet_threading.py
Last active June 4, 2019 17:04
always use pthread on monkey patched environment
import eventlet
eventlet.monkey_patch()
if eventlet.patcher.is_monkey_patched("thread"):
print("Patched")
threading = eventlet.patcher.original("threading")
else:
print("Not Patched")
import threading