Hello,
At Fermilab we installed the latest indico version v2. The installation went very smoothly. Fantastic job from the CERN team!
BUT we have the following problems:
-
In two different occasions we imported events from other labs and to maintain their event IDs so that an apache rewrite rule can redirect an old event’s URL the new URL, we prepend the migrated ID with a string.
The migration process seems to be working (the events are processed) but they are not shown under the category, also if they have abstracts then migration fails (see error log bellow) -
we are using mellon for our SSO logins and we are not able to make it work after following all the instruction. We do need some help with how to configure it with flask. We had no problem with indico version 1.2
We would appreciate your help
Thank you
Penelope
---------------------- Migration Error log --------------
i ANLHEP1017 abstract Contribution field Summary
i ANLHEP1017 abstract Abstract 10: A New Dimension in Tracking: 4D Silicon Detectors
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
/opt/indico/.venv/bin/indico-migrate in <module>()
9 if __name__ == '__main__':
10 sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
---> 11 sys.exit(main())
global sys.exit = <built-in function exit>
global main = <function main at 0x62b68c0>
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/cli.pyc in main()
124
125 def main():
--> 126 return cli()
global cli = <click.core.Command object at 0x62b4c90>
/opt/indico/.venv/lib/python2.7/site-packages/click/core.pyc in __call__(self=<click.core.Command object>, *args=(), **kwargs={})
720 def __call__(self, *args, **kwargs):
721 """Alias for :meth:`main`."""
--> 722 return self.main(*args, **kwargs)
self.main = <bound method Command.main of <click.core.Command object at 0x62b4c90>>
args = ()
kwargs = {}
723
724
/opt/indico/.venv/lib/python2.7/site-packages/click/core.pyc in main(self=<click.core.Command object>, args=[], prog_name=u'indico-migrate', complete_var=None, standalone_mode=True, **extra={})
695 try:
696 with self.make_context(prog_name, args, **extra) as ctx:
--> 697 rv = self.invoke(ctx)
rv = undefined
self.invoke = <bound method Command.invoke of <click.core.Command object at 0x62b4c90>>
ctx = <click.core.Context object at 0x62b4d50>
698 if not standalone_mode:
699 return rv
/opt/indico/.venv/lib/python2.7/site-packages/click/core.pyc in invoke(self=<click.core.Command object>, ctx=<click.core.Context object>)
893 """
894 if self.callback is not None:
--> 895 return ctx.invoke(self.callback, **ctx.params)
ctx.invoke = <bound method Context.invoke of <click.core.Context object at 0x62b4d50>>
self.callback = <function cli at 0x62b9488>
ctx.params = {u'verbose': True, u'ldap_provider_name': u'ldap', u'photo_path': None, u'reference_types': (), u'default_currency': u'USD', u'zodb_uri': u'file:///opt/indico-legacy/db/Data.fs', u'symlink_target': u'/opt/indico/archive/legacy_symlinks/', u'system_user_id': None, u'restore_file': None, u'archive_dir': (u'/opt/indico/legacy-archive/',), u'default_group_provider': u'fnal-ldap', u'ignore_local_accounts': False, u'avoid_storage_check': True, u'rb_zodb_uri': None, u'migrate_broken_events': True, u'storage_backend': u'legacy', u'default_email': u'penelope@fnal.gov', u'no_gui': True, u'save_restore': None, u'sqlalchemy_uri': u'postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico', u'symlink_backend': u'legacy-symlinks', u'debug': True, u'dblog': False}
896
897
/opt/indico/.venv/lib/python2.7/site-packages/click/core.pyc in invoke(*args=(), **kwargs={u'archive_dir': (u'/opt/indico/legacy-archive/',), u'avoid_storage_check': True, u'dblog': False, u'debug': True, u'default_currency': u'USD', u'default_email': u'penelope@fnal.gov', u'default_group_provider': u'fnal-ldap', u'ignore_local_accounts': False, u'ldap_provider_name': u'ldap', u'migrate_broken_events': True, ...})
533 with augment_usage_errors(self):
534 with ctx:
--> 535 return callback(*args, **kwargs)
callback = <function cli at 0x62b9488>
args = ()
kwargs = {u'verbose': True, u'symlink_backend': u'legacy-symlinks', u'photo_path': None, u'reference_types': (), u'restore_file': None, u'zodb_uri': u'file:///opt/indico-legacy/db/Data.fs', u'symlink_target': u'/opt/indico/archive/legacy_symlinks/', u'avoid_storage_check': True, u'default_currency': u'USD', u'archive_dir': (u'/opt/indico/legacy-archive/',), u'ldap_provider_name': u'ldap', u'ignore_local_accounts': False, u'system_user_id': None, u'rb_zodb_uri': None, u'migrate_broken_events': True, u'storage_backend': u'legacy', u'default_email': u'penelope@fnal.gov', u'default_group_provider': u'fnal-ldap', u'no_gui': True, u'save_restore': None, u'sqlalchemy_uri': u'postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico', u'debug': True, u'dblog': False}
536
537 def forward(*args, **kwargs):
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/cli.pyc in cli(sqlalchemy_uri=u'postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico', zodb_uri=u'file:///opt/indico-legacy/db/Data.fs', rb_zodb_uri=None, verbose=True, dblog=False, debug=True, restore_file=None, no_gui=True, **kwargs={u'archive_dir': (u'/opt/indico/legacy-archive/',), u'avoid_storage_check': True, u'default_currency': u'USD', u'default_email': u'penelope@fnal.gov', u'default_group_provider': u'fnal-ldap', u'ignore_local_accounts': False, u'ldap_provider_name': u'ldap', u'migrate_broken_events': True, u'photo_path': None, u'reference_types': (), ...})
120
121 migrate(logger, zodb_root, rb_zodb_uri, sqlalchemy_uri, verbose=verbose, dblog=dblog, restore_file=restore_file,
--> 122 debug=debug, **kwargs)
debug = True
kwargs = {u'save_restore': None, u'ldap_provider_name': u'ldap', u'ignore_local_accounts': False, u'symlink_target': u'/opt/indico/archive/legacy_symlinks/', u'system_user_id': None, u'migrate_broken_events': True, u'symlink_backend': u'legacy-symlinks', u'photo_path': None, u'storage_backend': u'legacy', u'avoid_storage_check': True, u'reference_types': (), u'default_email': u'penelope@fnal.gov', u'archive_dir': (u'/opt/indico/legacy-archive/',), u'default_group_provider': u'fnal-ldap', u'default_currency': u'USD'}
123
124
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/migrate.pyc in migrate(logger=<indico_migrate.logger.StdoutLogger object>, zodb_root={'conferences': <BTrees.OOBTree.OOBTree object a...': <BTrees.OOBTree.OOBTree object at 0x1121a7d0>}, zodb_rb_uri=None, sqlalchemy_uri=u'postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico', verbose=True, dblog=False, restore_file=None, **kwargs={u'archive_dir': (u'/opt/indico/legacy-archive/',), u'avoid_storage_check': True, 'debug': True, u'default_currency': u'USD', u'default_email': u'penelope@fnal.gov', u'ignore_local_accounts': False, u'ldap_provider_name': u'ldap', u'migrate_broken_events': True, u'photo_path': None, u'reference_types': (), ...})
104 else:
105 step(logger, app, sqlalchemy_uri, zodb_root, verbose, dblog, default_group_provider, tz,
--> 106 **kwargs).run()
kwargs.run = undefined
107 MigrationStateManager.register_step(step)
108 logger.set_success()
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/importer.pyc in run(self=<EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
159 self.pre_migrate()
160 try:
--> 161 self.migrate()
self.migrate = <bound method EventImporter.migrate of <EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
162 finally:
163 self.post_migrate()
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/util.pyc in _f(self=<EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>, *args=(), **kwargs={})
321 def _f(self, *args, **kwargs):
322 self.logger.print_step(description)
--> 323 f(self, *args, **kwargs)
global f = undefined
self = <EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>
args = ()
kwargs = {}
324 return _f
325 return _step_description
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/importer.pyc in migrate(self=<EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
181 db.engine.execute(db.text('ALTER TABLE events.{} DISABLE TRIGGER consistent_timetable'.format(table)))
182 try:
--> 183 self.migrate_event_data()
self.migrate_event_data = <bound method EventImporter.migrate_event_data of <EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
184 db.session.commit()
185 except:
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/importer.pyc in migrate_event_data(self=<EventImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
209 for importer in importers:
210 with db.session.no_autoflush:
--> 211 context.run_step(importer)
context.run_step = <bound method _EventContext.run_step of <indico_migrate.steps.events.importer._EventContext object at 0xc2424850>>
importer = <EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>
212
213 for importer in importers:
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/importer.pyc in run_step(self=<indico_migrate.steps.events.importer._EventContext object>, importer=<EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
135 def run_step(self, importer):
136 importer.bind(self)
--> 137 importer.run()
importer.run = <bound method EventAbstractImporter.run of <EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
138
139 def _fix_naive(self, dt):
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/__init__.pyc in run(self=<EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
81
82 def run(self):
---> 83 self.migrate()
self.migrate = <bound method EventAbstractImporter.migrate of <EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
84
85 @property
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/abstracts.pyc in migrate(self=<EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
113 self._migrate_contribution_types()
114 self._migrate_contribution_fields()
--> 115 self._migrate_abstracts()
self._migrate_abstracts = <bound method EventAbstractImporter._migrate_abstracts of <EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
116 db.session.flush()
117
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/abstracts.pyc in _migrate_abstracts(self=<EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>)
440 def _migrate_abstracts(self):
441 for zodb_abstract in self.amgr._abstracts.itervalues():
--> 442 self._migrate_abstract(zodb_abstract)
self._migrate_abstract = <bound method EventAbstractImporter._migrate_abstract of <EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>>
zodb_abstract = <persistent broken MaKaC.review.Abstract instance '\x00\x00\x00\x00\x01\xbb$p'>
443
444 if self.event.abstracts:
/opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/abstracts.pyc in _migrate_abstract(self=<EventAbstractImporter(postgresql://indico:klf55so@cdpgsdev.fnal.gov:5487/indico)>, old_abstract=<persistent broken MaKaC.review.Abstract instance '\x00\x00\x00\x00\x01\xbb$p'>)
359 old_contribution = getattr(old_abstract, '_contribution', None)
360 if old_contribution:
--> 361 assert old_contribution.__class__.__name__ == 'AcceptedContribution'
old_contribution.__class__.__name__ = 'Contribution'
362 if old_abstract._currentStatus.__class__.__name__ == 'AbstractStatusAccepted':
363 old_contrib_type = old_abstract._currentStatus._contribType
AssertionError:
> /opt/indico/.venv/lib/python2.7/site-packages/indico_migrate/steps/events/abstracts.py(361)_migrate_abstract()
359 old_contribution = getattr(old_abstract, '_contribution', None)
360 if old_contribution:
--> 361 assert old_contribution.__class__.__name__ == 'AcceptedContribution'
362 if old_abstract._currentStatus.__class__.__name__ == 'AbstractStatusAccepted':
363 old_contrib_type = old_abstract._currentStatus._contribType