Skip to content

Instantly share code, notes, and snippets.

Julien Danjou jd

Block or report user

Report or block jd

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 gist:8697880
Python 2.7.6 (default, Dec 9 2013, 18:09:21)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> base64.b64decode('lol')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.py", line 76, in b64decode
raise TypeError(msg)
TypeError: Incorrect padding
View gist:9325172
# Current
__TOOZ_GROUP_LIST = [ group list ]
_TOOZ_GROUP_<foo> = { "member": { "last_seen": <time>, "capabilities": "foobar" } }
create_group => WRITE,(READ,WRITE,RETRY) => O(1)
get_groups => READ => O(1)
join_group => (READ,WRITE,RETRY) => O(1)
leave_group => (READ,WRITE,RETRY) => O(1)
get_members => READ => O(1)
@jd
jd / gist:229ab8211aa9a6b547de
Last active Aug 29, 2015
Gnocchi TODO list
View gist:229ab8211aa9a6b547de
  • Allow PATCH on resources (for example changing "host" or "flavor_id" after a resize)
  • Allow to retrieve the list of resources for a user: /v1/resources/?user_id=<foo> -> return all instances too /v1/instances/?user_id=<foo>
  • Allow to retrieve the list of resources for a user with details: /v1/resources/?user_id=<foo>&detail=true -> return all instances too with full details (more costs as we need to look in other tables)
  • Allow to retrieve the list of resources with timestamp /v1/resources/?started_after=<timestamp>&ended_before=<timestamp>
View keybase.md

Keybase proof

I hereby claim:

  • I am jd on github.
  • I am jdanjou (https://keybase.io/jdanjou) on keybase.
  • I have a public key whose fingerprint is 5361 BD40 015B 7438 2739 101A 611B A950 8B78 A5C2

To claim this, I am signing this object:

@jd
jd / gist:2169407c179341b6e2e0
Created Sep 9, 2015
OpenStack meetup bio+pitch Gnocchi
View gist:2169407c179341b6e2e0
Bio:
Julien est un développeur OpenStack depuis 4 ans, et des principaux développeurs de Ceilometer
depuis son incubation au sein d'OpenStack. Il travaille comme Principal Software Engineer chez Red Hat.
Pitch:
L'année dernière, un nouveau projet à fait son apparition au sein de Ceilometer: Gnocchi.
Il répond à la problématique de stockage des métriques à grande échelle, problème rencontré
par Ceilometer depuis sa création. Pour se faire, il fournit une API REST d'indexation de
resources et de stockage de séries temporelles.
Durant cette présentation, je vous présenterais les raisons de créations de ce projet,
View gist:5320675
diff --git a/hy/compiler.py b/hy/compiler.py
index 24ba107..22687ca 100644
--- a/hy/compiler.py
+++ b/hy/compiler.py
@@ -157,6 +157,19 @@ class HyASTCompiler(object):
return self._mangle_branch([branch])
@builds("if")
+ def wraps_if_expression(self, expr):
+ return ast.Expr(
View gist:5484743
(if (if 1 2) 1)
Generates the tree
ast.stmt.If
`-> ast.stmt.If
`-> ast.expr.Num
`-> ast.expr.Num
`-> ast.expr.Num
View gist:5977213
% git diff
diff --git a/ceilometer/storage/impl_mongodb.py b/ceilometer/storage/impl_mongodb.py
index 4580833..84bd8fc 100644
--- a/ceilometer/storage/impl_mongodb.py
+++ b/ceilometer/storage/impl_mongodb.py
@@ -288,6 +288,8 @@ class Connection(base.Connection):
self.db.clear()
else:
self.conn.drop_database(self.db)
+ import time
View gist:6210206
=> GET /v2/meter/instances/statistics?reset_on=metadata.vm_state
<= {
'off': [ { avg: ... max: ... start: '2013-07-01 00:00:00', end: '2013-07-01 00:59:59' },
{ avg: ... max: ... start: '2013-07-01 03:00:00', end: '2013-07-01 03:59:59' },
'on': [ { avg: ... max: ... start: '2013-07-01 01:00:00', end: '2013-07-01 01:59:59' } ],
'suspended': [ { avg: ... max: ... start: '2013-07-01 02:00:00', end: '2013-07-01 02:59:59' } ]
}
View gist:8666438
def create_engine(sql_connection, sqlite_fk=False,
mysql_traditional_mode=False):
return session.create_engine(sql_connection,
sqlite_fk,
mysql_traditional_mode,
idle_timeout=CONF.database.idle_timeout,
connection_debug=CONF.databse.connection_debug,
max_pool_size=CONF.database.max_pool_size,
max_overflow=CONF.database.max_overflow,
pool_timeout=CONF.database.pool_timeout,
You can’t perform that action at this time.