Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Synchronize collections
- ERROR:noc.lib.debug:UNHANDLED EXCEPTION (2014-12-25 17:06:39.668519)
- Working directory: /opt/noc
- <class 'mongoengine.errors.NotUniqueError'>
- Tried to save duplicate unique keys (E11000 duplicate key error index: noc.noc.vendors.$name_1 dup key: { : "D-Link" })
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: /opt/noc/lib/python2.7/site-packages/mongoengine/document.py (Line: 286)
- Function: save
- 279 }
- 280 if cascade_kwargs: # Allow granular control over cascades
- 281 kwargs.update(cascade_kwargs)
- 282 kwargs['_refs'] = _refs
- 283 self.cascade_save(**kwargs)
- 284 except pymongo.errors.DuplicateKeyError, err:
- 285 message = u'Tried to save duplicate unique keys (%s)'
- 286 ==> raise NotUniqueError(message % unicode(err))
- 287 except pymongo.errors.OperationFailure, err:
- 288 message = 'Could not save document (%s)'
- 289 if re.match('^E1100[01] duplicate key', unicode(err)):
- 290 # E11000 - duplicate key error index
- 291 # E11001 - duplicate key on update
- 292 message = u'Tried to save duplicate unique keys (%s)'
- Variables:
- clean = True
- err =
- DuplicateKeyError(u'E11000 duplicate key error index: noc.noc.vendors.$name_1 dup key: { : "D-Link" }',)
- force_insert = False
- doc =
- SON([('name', u'D-Link'), ('code', u'DLINK'), ('site', u'http://www.dlink.com/'), ('uuid', UUID('deaacf21-325b-4b62-94d1-b8f3123e8f21')), ('_id', ObjectId('549c19ef4a5e68711c08f699'))])
- self = <Vendor: D-Link>
- created = True
- _refs = None
- collection =
- Collection(Database(MongoClient('localhost', 27017), u'noc'), u'noc.vendors')
- cascade = None
- write_concern = {'w': 1}
- cascade_kwargs = None
- kwargs = {}
- message = u'Tried to save duplicate unique keys (%s)'
- validate = True
- ------------------------------------------------------------------------
- File: /opt/noc/lib/collection.py (Line: 218)
- Function: update_item
- 211 if o:
- 212 # Update fields
- 213 for k in d:
- 214 setattr(o, k, d[k])
- 215 else:
- 216 # Create item
- 217 o = self.doc(**d)
- 218 ==> o.save()
- 219 self.items[mi.uuid] = mi
- 220 self.changed = True
- 221
- 222 def lookup(self, ref, field, key):
- 223 field = str(field)
- 224 if ref not in self.ref_cache:
- Variables:
- mi =
- CollectionItem(name='D-Link', uuid=UUID('deaacf21-325b-4b62-94d1-b8f3123e8f21'), path='DLINK.json', hash='1e0d7b170975361042d595ba7c75f3799bbf5399fe2159e49e187935b7c27903')
- self = <noc.lib.collection.Collection object at 0x505eed0>
- data =
- {'code': 'DLINK',
- 'name': 'D-Link',
- 'site': 'http://www.dlink.com/',
- 'uuid': 'deaacf21-325b-4b62-94d1-b8f3123e8f21'}
- d =
- {'code': 'DLINK',
- 'name': 'D-Link',
- 'site': 'http://www.dlink.com/',
- 'uuid': UUID('deaacf21-325b-4b62-94d1-b8f3123e8f21')}
- o = <Vendor: D-Link>
- ------------------------------------------------------------------------
- File: /opt/noc/lib/collection.py (Line: 162)
- Function: apply
- 155 sr = set(collection.items)
- 156 # Delete revoked items
- 157 for i in collection.get_revoked_items():
- 158 if i in self.items:
- 159 self.delete_item(i)
- 160 # Check for new items
- 161 for i in sr - sl:
- 162 ==> self.update_item(collection.items[i])
- 163 # Update changed items
- 164 for i in sr & sl:
- 165 if self.items[i].hash != collection.items[i].hash:
- 166 self.update_item(collection.items[i])
- 167 # Update partial items
- 168 for i in self.partial:
- Variables:
- i = UUID('deaacf21-325b-4b62-94d1-b8f3123e8f21')
- sr =
- set([UUID('0018a846-e3ad-4fa7-9352-6ac2e64b3048'),
- UUID('2f9cc9f6-19a1-4abf-86ac-7906065475d3'),
- UUID('393be551-8335-476d-b73d-f83aae285b37'),
- UUID('3b613993-3c19-4b04-9bd5-fcf01b7efecd'),
- UUID('43ca9798-c7ef-4f2f-ac9d-b1b547bb058f'),
- UUID('4d248e16-d835-4bac-8e01-a696d37c1761'),
- UUID('5000319a-cc5f-46f1-b2f4-23277db14ad6'),
- UUID('65634396-7826-4bfb-8092-5ed300e25445'),
- UUID('66e079d1-2fdd-4172-b850-c9359e55bbae'),
- UUID('6c888d44-b1dc-46d3-92a3-3e55f652b881'),
- UUID('6d0ea90b-6184-42c3-87a8-9f4271bf2383'),
- UUID('6e506a22-6f51-4b04-8e2f-3f240643d668'),
- UUID('770da8a7-df6c-4b28-9d66-a8c803cee5b2'),
- UUID('78305fbb-2cb2-4f67-8e94-659616856424'),
- UUID('89b344f1-14ae-4e2b-9c98-4eea13509f15'),
- UUID('8c5a642f-67b3-475a-ba39-b4835f7ead55'),
- UUID('9ae510be-7f03-4ff5-89f2-3504187762fe'),
- UUID('ae42a900-7e76-4cfe-93c3-21e3c7c9b1ba'),
- UUID('b06d7df2-e4d8-4697-aa24-6317530417f0'),
- UUID('b552bd2d-68b8-427b-a0f6-3775399cc7da'),
- UUID('b6af93da-bea4-40c2-8149-90172471b721'),
- UUID('b704b0b3-ba91-4a87-9d17-a8b92182e5be'),
- UUID('b8e63d51-ee3c-4e93-a782-27ae730be17f'),
- UUID('b98546f4-270d-4c3c-892f-25a5babc0af3'),
- UUID('befdf816-0aee-47c1-b84f-f93f0a7f6b79'),
- UUID('deaacf21-325b-4b62-94d1-b8f3123e8f21'),
- UUID('e5e779a2-3c25-4ba4-8644-10dd43ea7c0a'),
- UUID('eaffacec-f2ea-469f-90fa-6fafba9f9bbf'),
- UUID('ebae01bb-4677-4aee-a844-0161c5585a37'),
- UUID('eccf0b1f-349e-449c-8ead-0209b0df36a0'),
- UUID('ee35ecb4-0217-4f89-9196-6afd127322c3'),
- UUID('fa69f993-53ef-452e-a866-4df0e3dff3a5')])
- self = <noc.lib.collection.Collection object at 0x505eed0>
- collection = <noc.lib.collection.Collection object at 0x505eb10>
- sl = set([])
- ------------------------------------------------------------------------
- File: /opt/noc/main/management/commands/collection.py (Line: 177)
- Function: handle_sync
- 170 DocCategory.fix_all()
- 171 try:
- 172 for name, doc in self.collections:
- 173 lc = Collection(name, doc, local=True)
- 174 lc.load()
- 175 dc = Collection(name, doc)
- 176 dc.load()
- 177 ==> lc.apply(dc)
- 178 except ValueError, why:
- 179 raise CommandError(why)
- 180 except DereferenceError, why:
- 181 raise CommandError(why)
- 182
- 183 def handle_upgrade(self, collections):
- Variables:
- doc = <class 'noc.inv.models.vendor.Vendor'>
- self = <noc.main.management.commands.collection.Command object at 0x4e593d0>
- dc = <noc.lib.collection.Collection object at 0x505eb10>
- name = 'inv.vendors'
- lc = <noc.lib.collection.Collection object at 0x505eed0>
- ------------------------------------------------------------------------
- File: /opt/noc/main/management/commands/collection.py (Line: 141)
- Function: _handle
- 134 raise
- 135 except:
- 136 error_report()
- 137
- 138 def _handle(self, *args, **options):
- 139 self.verbose = bool(options.get("verbosity"))
- 140 if options["cmd"] == "sync":
- 141 ==> return self.handle_sync()
- 142 elif options["cmd"] == "upgrade":
- 143 return self.handle_upgrade(args)
- 144 elif options["cmd"] == "install":
- 145 if len(args) < 2:
- 146 parts = args[0].split(os.path.sep)
- 147 if (len(parts) < 2 or parts[1] != "collections"):
- Variables:
- self = <noc.main.management.commands.collection.Command object at 0x4e593d0>
- args = ()
- options =
- {'cmd': 'sync',
- 'pythonpath': None,
- 'settings': None,
- 'traceback': None,
- 'verbosity': '1'}
- ------------------------------------------------------------------------
- File: /opt/noc/main/management/commands/collection.py (Line: 132)
- Function: handle
- 125 msg = "%s\nAvailable collections:" % msg
- 126 for n, d in self.collections:
- 127 msg = "%s\n %s" % (msg, n)
- 128 return msg
- 129
- 130 def handle(self, *args, **kwargs):
- 131 try:
- 132 ==> self._handle(*args, **kwargs)
- 133 except CommandError:
- 134 raise
- 135 except:
- 136 error_report()
- 137
- 138 def _handle(self, *args, **options):
- Variables:
- self = <noc.main.management.commands.collection.Command object at 0x4e593d0>
- args = ()
- kwargs =
- {'cmd': 'sync',
- 'pythonpath': None,
- 'settings': None,
- 'traceback': None,
- 'verbosity': '1'}
- ------------------------------------------------------------------------
- END OF TRACEBACK
- Synchronizing pyRules
- Traceback (most recent call last):
- File "manage.py", line 35, in <module>
- import noc.urls
- File "/opt/noc/urls.py", line 18, in <module>
- site.autodiscover()
- File "/opt/noc/lib/app/site.py", line 473, in autodiscover
- {}, {}, "*")
- File "/opt/noc/inv/apps/inv/views.py", line 21, in <module>
- class InvApplication(ExtApplication):
- File "/opt/noc/lib/app/application.py", line 109, in __new__
- site.register(m)
- File "/opt/noc/lib/app/site.py", line 381, in register
- app = app_class(self)
- File "/opt/noc/inv/apps/inv/views.py", line 52, in __init__
- self.plugins[o.name] = o(self)
- File "/opt/noc/inv/apps/inv/plugins/base.py", line 22, in __init__
- self.init_plugin()
- File "/opt/noc/inv/apps/inv/plugins/conduits.py", line 61, in init_plugin
- self.conduits_model = ObjectModel.objects.get(name=self.CONDUITS_MODEL)
- File "/opt/noc/lib/python2.7/site-packages/mongoengine/queryset/base.py", line 186, in get
- raise queryset._document.DoesNotExist(msg)
- noc.inv.models.objectmodel.DoesNotExist: ObjectModel matching query does not exist.
- -e upgrade-user: : sync-pyrules failed
- Terminating
- upgrade complete
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement