[PDB Tech] incomplete local sync
Greg Dendy
gregdendy at gmail.com
Fri Mar 24 13:42:39 PDT 2017
Thanks again. That cleared up the upgrade errors, but revealed issues running peeringdb functions.
$ peeringdb drop_tables
Traceback (most recent call last):
File "/bin/peeringdb", line 11, in <module>
sys.exit(cli())
File "/usr/lib/python2.7/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/peeringdb/cli.py", line 176, in drop_tables
from peeringdb.localdb import LocalDB
File "/usr/lib/python2.7/site-packages/peeringdb/localdb.py", line 7, in <module>
from django.db.models import get_app, get_models
ImportError: cannot import name get_app
At this point, active versions were:
django 1.10.6 <— UH-OH!
django-peeringdb 0.3.1
peeringdb 0.5.0
pip 9.0.1
setuptools 34.3.2
Referencing Chris’ thread earlier this month, I downrev’d django to 1.8.17 and now the spice can flow. This appears to be a good set of versions to be on:
django 1.8.17
django-peeringdb 0.3.1
peeringdb 0.5.0
pip 9.0.1
setuptools 34.3.2
Never was there a tale of more woe, than this of me and my poor django.
Thanks Stefan.
Greg
> On Mar 24, 2017, at 12:01 PM, Stefan Pratter <stefan at 20c.com> wrote:
>
> Install error are caused by old pip version, can upgrade by running
>
> pip install pip --upgrade
> pip install setuptools --upgrade
>
> install should work after that
>
> Stefan
> On 24/03/2017 20.55, Greg Dendy wrote:
>> Good one, that describes my experience syncing, multiple runs needed to push through errors. My versions:
>>
>> django-peeringdb: 0.2.2
>> peeringdb: 0.5.0
>>
>> Here’s how it fails on a fresh sync:
>>
>> https://www.peeringdb.com:443 "GET /api/net?since=0 HTTP/1.1" 200 None
>> net last update 0 8933 changed
>> data to be processed 8933
>> Traceback (most recent call last):
>> File "/bin/peeringdb", line 11, in <module>
>> sys.exit(cli())
>> File "/usr/lib/python2.7/site-packages/click/core.py", line 722, in __call__
>> return self.main(*args, **kwargs)
>> File "/usr/lib/python2.7/site-packages/click/core.py", line 697, in main
>> rv = self.invoke(ctx)
>> File "/usr/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>> File "/usr/lib/python2.7/site-packages/click/core.py", line 895, in invoke
>> return ctx.invoke(self.callback, **ctx.params)
>> File "/usr/lib/python2.7/site-packages/click/core.py", line 535, in invoke
>> return callback(*args, **kwargs)
>> File "/usr/lib/python2.7/site-packages/peeringdb/cli.py", line 167, in sync
>> db.sync()
>> File "/usr/lib/python2.7/site-packages/peeringdb/localdb.py", line 141, in sync
>> call_command('pdb_sync', interactive=False)
>> File "/usr/lib64/python2.7/site-packages/django/core/management/__init__.py", line 120, in call_command
>> return command.execute(*args, **defaults)
>> File "/usr/lib64/python2.7/site-packages/django/core/management/base.py", line 445, in execute
>> output = self.handle(*args, **options)
>> File "/usr/lib/python2.7/site-packages/django_peeringdb/management/commands/pdb_sync.py", line 85, in handle
>> self.sync(tables)
>> File "/usr/lib/python2.7/site-packages/django_peeringdb/management/commands/pdb_sync.py", line 92, in sync
>> self.update_db(cls, self.get_objs(cls))
>> File "/usr/lib/python2.7/site-packages/django_peeringdb/management/commands/pdb_sync.py", line 127, in update_db
>> sync.sync_obj(cls, row)
>> File "/usr/lib/python2.7/site-packages/django_peeringdb/sync.py", line 25, in sync_obj
>> obj.full_clean()
>> File "/usr/lib64/python2.7/site-packages/django/db/models/base.py", line 1171, in full_clean
>> raise ValidationError(errors)
>> django.core.exceptions.ValidationError: {'info_traffic': [u"Value u'10 Tbps+' is not a valid
>> choice.”]}
>>
>>
>> So, next try to upgrade django-peeringdb. Here’s how that fails:
>>
>> $ pip install django-peeringdb --upgrade
>> Collecting django-peeringdb
>> Using cached django-peeringdb-0.3.1.tar.gz
>> Collecting django_countries>=0.1.0 (from django-peeringdb)
>> Using cached django_countries-4.2-py2.py3-none-any.whl
>> Collecting django_handleref<0.2.0,>=0.1.4 (from django-peeringdb)
>> Using cached django-handleref-0.1.5.tar.gz
>> Collecting django_inet<0.4,>=0.3.2 (from django-peeringdb)
>> Using cached django-inet-0.3.2.tar.gz
>> Complete output from command python setup.py egg_info:
>> /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_requires'
>> warnings.warn(msg)
>> error in django-inet setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
>>
>> ----------------------------------------
>> Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9Dm5Ax/django-inet/
>>
>>
>>
>> Greg
>>
>>
>>> On Mar 23, 2017, at 9:49 PM, Stefan Pratter <stefan at 20c.com> wrote:
>>>
>>> The one situation that comes to mind that would cause what you are describing is if you are running an older version of django-peeringdb and it's failing validation on some of the enum fields that had values added to them - e.g. they are valid on the server, but not valid locally - which would affect a lot of the entities that are missing for you.
>>>
>>> Furthermore it would notify you of that failure initially, but consecutive runs of sync on that same database may appear to complete successfully depending on which objects they touch.
>>>
>>> To be sure, i just ran a local sync on a fresh database and on an existing one and it behaves normally for me in both cases.
>>>
>>> Tested with these versions:
>>>
>>> django-peeringdb==0.3.1
>>> peeringdb==0.5.0
>>>
>>> What is the output when you run peeringdb sync on a fresh database?
>>>
>>> Stefan
>>>
>>> On 23/03/2017 23.58, Greg Dendy wrote:
>>>> Hola PDB-Tech
>>>>
>>>> I’ve noticed that my peeringdb sql syncs over the last week or so are
>>>> considerably smaller than normal, by about 75%. The sync process
>>>> appears to complete successfully, but network, facility, and IX records
>>>> appear to be missing.
>>>>
>>>> Anyone else seeing this behavior?
>>>>
>>>> Are there any known issues with the sync function that could cause this
>>>> behavior?
>>>>
>>>> Thanks,
>>>>
>>>> Greg
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pdb-tech mailing list
>>>> Pdb-tech at lists.peeringdb.com
>>>> http://lists.peeringdb.com/cgi-bin/mailman/listinfo/pdb-tech
>>>>
>>> _______________________________________________
>>> Pdb-tech mailing list
>>> Pdb-tech at lists.peeringdb.com
>>> http://lists.peeringdb.com/cgi-bin/mailman/listinfo/pdb-tech
>>
More information about the Pdb-tech
mailing list