On 21.6.2016 16:49, Martin Basti wrote:


On 21.06.2016 16:51, Jan Cholasta wrote:
On 21.6.2016 16:33, Martin Basti wrote:


On 21.06.2016 16:24, Jan Cholasta wrote:
On 21.6.2016 15:11, Jan Cholasta wrote:
On 16.6.2016 09:12, David Kupka wrote:
On 06/15/2016 08:15 PM, Petr Vobornik wrote:
On 06/15/2016 02:36 PM, David Kupka wrote:
Hello!
Schema caching for thin client is available here:

https://github.com/dkupka/freeipa/commits/schema_cache

Comments and reviews welcome.

Enjoy!

Not doing proper review. I'll test by using it. But:

1. lint fails

Pylint is running, please wait ...
************* Module ipaclient.remote_plugins.schema_cache
ipaclient/remote_plugins/schema_cache.py:283:
[W1612(unicode-builtin),
_refresh_schema] unicode built-in referenced)
Makefile:137: recipe for target 'lint' failed
make: *** [lint] Error 1

I.e, you miss:

  import six

  if six.PY3:
      unicode = str


Thanks for the catch, fixed version force-pushed.

ACK on the server part, i.e. the first 3 commits:

0cd99a7 schema: Cache schema in api instance
b9a58c4 schema: Add known_fingerprints option to schema command
f6f4e53 schema: Add fingerprint and TTL

Pushed to master: d0e708cba240bd92a4467495caeb654eff6ae69a

ACK on this commit:

7fc7941 schema: return fingerprint as unicode text

Pushed to master: a5f48476adfd9971a1756bd5ad3cb7c9e2afef22


Is Okay to keep just last 4 bytes from SHA1, how big is possibility for
conflict?

2.3283064365386963e-10

Git uses 3.5 bytes for short commit IDs by default. So far, there are
only 4 conflicts in freeipa git:

$ git log --oneline | grep -E '^[0-9a-z]{8,}'
c6c84fae Py3: replace tab with space
b194b850 Fix remove while iterating in suppress_netgroup_memberof.
58a3b1d0 85: Added ReadOnly._lock() method to make class easier to
use; updated subclasses and unit tests
bc524460 Fix build issues by combining patches submitted by Michael
Gregg and   Karl MacMillan Remove #!/usr/bin/python from many files to
quiet rpmlint

So IMO 4 bytes is good enough for our API schema fingerprints.

Even if 4 bytes turn out not to be good enough, we can increase the
length at any time without breaking clients, because clients don't
care about fingerprint specifics.

Okay

ACK on the remaining patches:

ce74a12 schema: Caching on schema on client
bdd6ec2 env: Add 'server' variable to api.env

Pushed to master: a636842889f832e977df61dbeac4e1055e129c0f

--
Jan Cholasta

--
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to