)]}'
{"doc/source/cli/ironic-dbsync.rst":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"25d685eed2ef6d96e3aa3f5fb02e053ee76d80c0","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  If not specified, all the objects will be migrated (in batches of 50 to"},{"line_number":113,"context_line":"  avoid locking the database for long periods of time)."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. option:: --option \u003cMIGRATION.KEY\u003dVALUE\u003e"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  If a migration accepts additional parameters, they can be passed via this"},{"line_number":118,"context_line":"  argument. It can be specified several times."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_97a2d799","line":115,"updated":"2018-01-23 18:32:19.000000000","message":"maybe s/KEY/OPTION/ to be consistent with the help msg.","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"}],"ironic/cmd/dbsync.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"25d685eed2ef6d96e3aa3f5fb02e053ee76d80c0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"# The migration functions should be ordered by execution order; from earlier"},{"line_number":40,"context_line":"# to later releases."},{"line_number":41,"context_line":"#"},{"line_number":42,"context_line":"# Each migration function takes two arguments -- the context and maximum"},{"line_number":43,"context_line":"# number of objects to migrate, and returns a 2-tuple -- the total number of"},{"line_number":44,"context_line":"# objects that need to be migrated at the beginning of the function, and the"},{"line_number":45,"context_line":"# number migrated. If the function determines that no migrations are needed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_37098394","line":42,"updated":"2018-01-23 18:32:19.000000000","message":"need to add doc about the options. And what happens if the options are bad.","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"369e4781a82b2d64ad7067ad44ca101e6d46bcd4","unresolved":false,"context_lines":[{"line_number":61,"context_line":"# and attribute name tuples, so that not to trigger the load of the whole"},{"line_number":62,"context_line":"# object, in case it is lazy loaded. The attribute will be accessed when needed"},{"line_number":63,"context_line":"# by doing getattr on the object"},{"line_number":64,"context_line":"ONLINE_MIGRATIONS \u003d ("},{"line_number":65,"context_line":"    # Added in Pike, modified in Queens"},{"line_number":66,"context_line":"    # TODO(rloo): remove in Rocky"},{"line_number":67,"context_line":"    (dbapi, \u0027backfill_version_column\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_778dcbd1","line":64,"updated":"2018-01-23 18:37:07.000000000","message":"i wonder if we should add meta data here, \n(object, function, option names (if any)). We could expand/get more elabaorate with the option names, could have a help string associated with each one, type of value expected...\n\nbut maybe that is going too far for something that we might not use much. (Hopefully not.)","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"25d685eed2ef6d96e3aa3f5fb02e053ee76d80c0","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        total_migrated \u003d 0"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        for migration_func_obj, migration_func_name in ONLINE_MIGRATIONS:"},{"line_number":140,"context_line":"            migration_func \u003d getattr(migration_func_obj, migration_func_name)"},{"line_number":141,"context_line":"            migration_opts \u003d options.get(migration_func_name, {})"},{"line_number":142,"context_line":"            num_to_migrate \u003d max_count - total_migrated"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_17bc87da","line":139,"updated":"2018-01-23 18:32:19.000000000","message":"we need to make sure that the migration_func_names are all unique. (we could add a unit test to check that)","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"25d685eed2ef6d96e3aa3f5fb02e053ee76d80c0","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            try:"},{"line_number":144,"context_line":"                total_to_do, num_migrated \u003d migration_func(context,"},{"line_number":145,"context_line":"                                                           num_to_migrate,"},{"line_number":146,"context_line":"                                                           **migration_opts)"},{"line_number":147,"context_line":"            except Exception as e:"},{"line_number":148,"context_line":"                print(_(\"Error while running %(migration)s: %(err)s.\")"},{"line_number":149,"context_line":"                      % {\u0027migration\u0027: migration_func.__name__, \u0027err\u0027: e},"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_97d097f9","line":146,"updated":"2018-01-23 18:32:19.000000000","message":"what if the options don\u0027t make sense for that migration function? Will that function raise an exception?","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"086e2b4f50a92e33d7ea23179bca732d39827a02","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            try:"},{"line_number":144,"context_line":"                total_to_do, num_migrated \u003d migration_func(context,"},{"line_number":145,"context_line":"                                                           num_to_migrate,"},{"line_number":146,"context_line":"                                                           **migration_opts)"},{"line_number":147,"context_line":"            except Exception as e:"},{"line_number":148,"context_line":"                print(_(\"Error while running %(migration)s: %(err)s.\")"},{"line_number":149,"context_line":"                      % {\u0027migration\u0027: migration_func.__name__, \u0027err\u0027: e},"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_ea4b7284","line":146,"in_reply_to":"5f93b717_1597ff92","updated":"2018-01-25 16:59:36.000000000","message":"well, there are options that aren\u0027t used, and there are options that are used. I am thinking of the ones that are used -- what if the value specified is incorrect?","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"369dea22880bd31d419bb868d3c52a164076dc14","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            try:"},{"line_number":144,"context_line":"                total_to_do, num_migrated \u003d migration_func(context,"},{"line_number":145,"context_line":"                                                           num_to_migrate,"},{"line_number":146,"context_line":"                                                           **migration_opts)"},{"line_number":147,"context_line":"            except Exception as e:"},{"line_number":148,"context_line":"                print(_(\"Error while running %(migration)s: %(err)s.\")"},{"line_number":149,"context_line":"                      % {\u0027migration\u0027: migration_func.__name__, \u0027err\u0027: e},"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f93b717_1597ff92","line":146,"in_reply_to":"7f96bb07_97d097f9","updated":"2018-01-24 22:47:12.000000000","message":"I would think they would just be background noise that wouldn\u0027t apply....... like defining an unused parameter.","commit_id":"5b4b593f1ea3c2ae17f6102c8cde329c8e133beb"}]}
