)]}'
{"etc/octavia.conf":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"1b401456e213d3d28ad21f3dce468be6a0577ce4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"# haproxy_template \u003d"},{"line_number":110,"context_line":"# connection_max_retries \u003d 300"},{"line_number":111,"context_line":"# connection_retry_interval \u003d 5"},{"line_number":112,"context_line":"# build_rate_limit \u003d 1"},{"line_number":113,"context_line":"# build_active_retries \u003d 300"},{"line_number":114,"context_line":"# build_retry_interval \u003d 5"},{"line_number":115,"context_line":""}],"source_content_type":"text/plain","patch_set":7,"id":"1a122d0e_f5bbf4c1","line":112,"range":{"start_line":112,"start_character":21,"end_line":112,"end_character":22},"updated":"2016-04-20 21:51:28.000000000","message":"shouldn\u0027t we make it unlimited by default?","commit_id":"74ce7c9b761e4355e13e8da6ee53433057bcded7"}],"octavia/common/config.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5fb8c0bb47bb7ef7d55de0a7f0798c00409015b2","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u0027seconds.\u0027)),"},{"line_number":163,"context_line":"    cfg.IntOpt(\u0027build_rate_limit\u0027,"},{"line_number":164,"context_line":"               default\u003d-1,"},{"line_number":165,"context_line":"               help\u003d_(\u0027Number of amphorae that could be built \u0027"},{"line_number":166,"context_line":"                      \u0027simultaneously\u0027)),"},{"line_number":167,"context_line":"    cfg.IntOpt(\u0027build_active_retries\u0027,"},{"line_number":168,"context_line":"               default\u003d300,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_58b5827c","line":165,"updated":"2016-04-22 18:37:47.000000000","message":"Is this per octavia environment (i.e. per database), per worker, per process?\nWe need to clarify how this is actually used.","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"},{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"3a7a884eb804e3e9217836af1eabf30552b1428c","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    cfg.IntOpt(\u0027build_rate_limit\u0027,"},{"line_number":164,"context_line":"               default\u003d-1,"},{"line_number":165,"context_line":"               help\u003d_(\u0027Number of amphorae that could be built \u0027"},{"line_number":166,"context_line":"                      \u0027simultaneously\u0027)),"},{"line_number":167,"context_line":"    cfg.IntOpt(\u0027build_active_retries\u0027,"},{"line_number":168,"context_line":"               default\u003d300,"},{"line_number":169,"context_line":"               help\u003d_(\u0027Retry threshold for waiting for a build slot for \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_e6530c6b","line":166,"range":{"start_line":166,"start_character":23,"end_line":166,"end_character":37},"updated":"2016-04-22 08:39:48.000000000","message":"jut a nit: fullstop missing.","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"}],"octavia/common/constants.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5fb8c0bb47bb7ef7d55de0a7f0798c00409015b2","unresolved":false,"context_lines":[{"line_number":254,"context_line":"RPC_NAMESPACE_CONTROLLER_AGENT \u003d \u0027controller\u0027"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"# Build Type Priority"},{"line_number":257,"context_line":"LB_CREATE_FAILOVER_PRIORITY \u003d 10"},{"line_number":258,"context_line":"LB_CREATE_NORMAL_PRIORITY \u003d 20"},{"line_number":259,"context_line":"LB_CREATE_SPARES_POOL_PRIORITY \u003d 30"},{"line_number":260,"context_line":"BUILD_TYPE_PRIORITY \u003d \u0027build_type_priority\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_b802d609","line":257,"updated":"2016-04-22 18:37:47.000000000","message":"I would recommend spacing these out farther.  Right now it only leaves ten priority slots higher than failover.  Maybe 20,40,60?","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"}],"octavia/common/exceptions.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5fb8c0bb47bb7ef7d55de0a7f0798c00409015b2","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    message \u003d _LE(\u0027Failed to build compute instance.\u0027)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"class ComputeBuildWaitTimeoutException(OctaviaException):"},{"line_number":163,"context_line":"    message \u003d _LE(\u0027Failed to get a build slot.\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_b33039ea","line":162,"updated":"2016-04-22 18:37:47.000000000","message":"Can we rename this to be something like \"ComputeBuildQueueTimeoutException\"  That way it\u0027s slightly more clear that this isn\u0027t a nova timeout exception, but really a build queue timeout.","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5fb8c0bb47bb7ef7d55de0a7f0798c00409015b2","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"class ComputeBuildWaitTimeoutException(OctaviaException):"},{"line_number":163,"context_line":"    message \u003d _LE(\u0027Failed to get a build slot.\u0027)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"class ComputeDeleteException(OctaviaException):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_f3859159","line":163,"updated":"2016-04-22 18:37:47.000000000","message":"What kind of build slot?  Maybe \"amphora build slot\"?","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"}],"octavia/compute/drivers/nova_driver.py":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"552a7e969834150e91e60fa6d319431c3bd72755","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def has_build_slot(self):"},{"line_number":158,"context_line":"        build_rate_limit \u003d CONF.haproxy_amphora.build_rate_limit"},{"line_number":159,"context_line":"        used_build_slots \u003d ("},{"line_number":160,"context_line":"            self.amp_build_slots_repo.get_used_build_slots_count("},{"line_number":161,"context_line":"                db_apis.get_session()))"},{"line_number":162,"context_line":"        LOG.debug(\"Used build slots %d\", used_build_slots)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_d5682b8a","line":159,"updated":"2016-04-08 19:59:27.000000000","message":"should be wrapped with a DB transaction","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"f31f4362a14956bf03323c053ad1db6ef1a2d4ce","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def has_build_slot(self):"},{"line_number":158,"context_line":"        build_rate_limit \u003d CONF.haproxy_amphora.build_rate_limit"},{"line_number":159,"context_line":"        used_build_slots \u003d ("},{"line_number":160,"context_line":"            self.amp_build_slots_repo.get_used_build_slots_count("},{"line_number":161,"context_line":"                db_apis.get_session()))"},{"line_number":162,"context_line":"        LOG.debug(\"Used build slots %d\", used_build_slots)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_097c7971","line":159,"in_reply_to":"9a061dce_d5682b8a","updated":"2016-04-11 23:44:44.000000000","message":"Done","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"45dfb7a011c1e3c92067989f21a7d487badb864c","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    def has_build_slot(self):"},{"line_number":159,"context_line":"        build_rate_limit \u003d CONF.haproxy_amphora.build_rate_limit"},{"line_number":160,"context_line":"        session \u003d db_apis.get_session()"},{"line_number":161,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":162,"context_line":"            used_build_slots \u003d (self.amp_build_slots_repo"},{"line_number":163,"context_line":"                                .get_used_build_slots_count(session))"},{"line_number":164,"context_line":"            available_build_slots \u003d build_rate_limit - used_build_slots"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_a9a585b6","line":161,"range":{"start_line":161,"start_character":21,"end_line":161,"end_character":26},"updated":"2016-04-12 00:08:59.000000000","message":"wonder if this will automatically roll back if there is an error","commit_id":"00bc054c2928850d450a476206c3f54919944670"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"86c93914c6bbd07232c985d2dca7bfa6d0e1a6aa","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    def has_build_slot(self):"},{"line_number":159,"context_line":"        build_rate_limit \u003d CONF.haproxy_amphora.build_rate_limit"},{"line_number":160,"context_line":"        session \u003d db_apis.get_session()"},{"line_number":161,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":162,"context_line":"            used_build_slots \u003d (self.amp_build_slots_repo"},{"line_number":163,"context_line":"                                .get_used_build_slots_count(session))"},{"line_number":164,"context_line":"            available_build_slots \u003d build_rate_limit - used_build_slots"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a18252c_1273fdb2","line":161,"range":{"start_line":161,"start_character":21,"end_line":161,"end_character":26},"in_reply_to":"5a18252c_a9a585b6","updated":"2016-04-12 07:01:38.000000000","message":"Yes, German. The document says: \"if the return value is used as a context manager, i.e. in a with-statement, then this rollback/commit is issued by the context manager upon exiting the context, and so should not be added explicitly.\"","commit_id":"00bc054c2928850d450a476206c3f54919944670"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5fb8c0bb47bb7ef7d55de0a7f0798c00409015b2","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            LOG.exception(_LE(\"Error building nova virtual machine.\"))"},{"line_number":148,"context_line":"            raise exceptions.ComputeBuildException()"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def add_to_build_request_queue(self, amphora_id, build_priority):"},{"line_number":151,"context_line":"        self.amp_build_req_repo.add_to_build_queue("},{"line_number":152,"context_line":"            db_apis.get_session(),"},{"line_number":153,"context_line":"            amphora_id\u003damphora_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a122d0e_3a7fb067","line":150,"updated":"2016-04-22 18:37:47.000000000","message":"Does this need to be in the compute drivers?  Putting this here means each compute driver needs to implement it.  Maybe it would be better in the compute task or a new class that the compute task uses.","commit_id":"5c1941c4dba4e60bb2d9f9fc37635c156ce49cdc"}],"octavia/controller/worker/flows/amphora_flows.py":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"552a7e969834150e91e60fa6d319431c3bd72755","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            requires\u003d(constants.AMPHORA_ID, constants.COMPUTE_ID)))"},{"line_number":168,"context_line":"        create_amp_for_lb_subflow.add(compute_tasks.ComputeWait("},{"line_number":169,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.COMPUTE_WAIT,"},{"line_number":170,"context_line":"            requires\u003d(constants.COMPUTE_ID, constants.AMPHORA_ID),"},{"line_number":171,"context_line":"            provides\u003dconstants.COMPUTE_OBJ))"},{"line_number":172,"context_line":"        create_amp_for_lb_subflow.add(database_tasks.UpdateAmphoraInfo("},{"line_number":173,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.UPDATE_AMPHORA_INFO,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_15d74324","line":170,"range":{"start_line":170,"start_character":54,"end_line":170,"end_character":64},"updated":"2016-04-08 19:59:27.000000000","message":"do we really need that? Nova driver shouldn\u0027t have to know about amphora ids","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"f31f4362a14956bf03323c053ad1db6ef1a2d4ce","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            requires\u003d(constants.AMPHORA_ID, constants.COMPUTE_ID)))"},{"line_number":168,"context_line":"        create_amp_for_lb_subflow.add(compute_tasks.ComputeWait("},{"line_number":169,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.COMPUTE_WAIT,"},{"line_number":170,"context_line":"            requires\u003d(constants.COMPUTE_ID, constants.AMPHORA_ID),"},{"line_number":171,"context_line":"            provides\u003dconstants.COMPUTE_OBJ))"},{"line_number":172,"context_line":"        create_amp_for_lb_subflow.add(database_tasks.UpdateAmphoraInfo("},{"line_number":173,"context_line":"            name\u003dsf_name + \u0027-\u0027 + constants.UPDATE_AMPHORA_INFO,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_71ede524","line":170,"range":{"start_line":170,"start_character":54,"end_line":170,"end_character":64},"in_reply_to":"9a061dce_15d74324","updated":"2016-04-11 23:44:44.000000000","message":"When the amphora goes ACTIVE, I\u0027m removing the request corresponding to that amphora (identified by the amphora_id) from the build request queue. So it is needed.","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"}],"octavia/controller/worker/tasks/compute_tasks.py":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"552a7e969834150e91e60fa6d319431c3bd72755","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        try:"},{"line_number":70,"context_line":"            if CONF.haproxy_amphora.build_rate_limit !\u003d -1:"},{"line_number":71,"context_line":"                self.compute.add_to_build_request_queue(amphora_id,"},{"line_number":72,"context_line":"                                                        build_type_priority)"},{"line_number":73,"context_line":"                if not (self.compute.has_build_slot() and"},{"line_number":74,"context_line":"                        self.compute.has_highest_priority(amphora_id)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_75b31f0b","line":71,"updated":"2016-04-08 19:59:27.000000000","message":"DB transaction","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"f31f4362a14956bf03323c053ad1db6ef1a2d4ce","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        try:"},{"line_number":70,"context_line":"            if CONF.haproxy_amphora.build_rate_limit !\u003d -1:"},{"line_number":71,"context_line":"                self.compute.add_to_build_request_queue(amphora_id,"},{"line_number":72,"context_line":"                                                        build_type_priority)"},{"line_number":73,"context_line":"                if not (self.compute.has_build_slot() and"},{"line_number":74,"context_line":"                        self.compute.has_highest_priority(amphora_id)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_29acd5ec","line":71,"in_reply_to":"9a061dce_75b31f0b","updated":"2016-04-11 23:44:44.000000000","message":"Done","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"90754e1deb3e2cfb3727b01cd68da1743aad5d97","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        :raises: Generic exception if the amphora is not active"},{"line_number":188,"context_line":"        :returns: An amphora object"},{"line_number":189,"context_line":"        \"\"\""},{"line_number":190,"context_line":"        if CONF.haproxy_amphora.build_rate_limit !\u003d -1:"},{"line_number":191,"context_line":"            for i in range(CONF.controller_worker.amp_active_retries):"},{"line_number":192,"context_line":"                amp \u003d self.compute.get_amphora(compute_id)"},{"line_number":193,"context_line":"                if amp.status \u003d\u003d constants.ACTIVE:"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa6399be_680cef42","line":190,"updated":"2016-10-18 21:06:14.000000000","message":"This is wrong and causing your failure.","commit_id":"097e811b691994dddec0c8de7bdb3510cc6d6da6"}],"octavia/db/migration/alembic_migrations/versions/fc5582da7d8a_create_amphora_build_rate_limit_tables.py":[{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"8e7eb05b832de0d8db48c824c43a7ac6c28ae447","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    op.create_table("},{"line_number":54,"context_line":"        u\u0027amphora_build_request\u0027,"},{"line_number":55,"context_line":"        sa.Column(u\u0027id\u0027, sa.Integer(), primary_key\u003dTrue, autoincrement\u003dFalse),"},{"line_number":56,"context_line":"        sa.Column(u\u0027amphora_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":57,"context_line":"        sa.Column(u\u0027priority\u0027, sa.Integer())"},{"line_number":58,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_8bb3340a","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":78},"updated":"2016-04-08 20:54:06.000000000","message":"Why not use a timestamp ? That would get rid of a lot of db read/writes..","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"f31f4362a14956bf03323c053ad1db6ef1a2d4ce","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    op.create_table("},{"line_number":54,"context_line":"        u\u0027amphora_build_request\u0027,"},{"line_number":55,"context_line":"        sa.Column(u\u0027id\u0027, sa.Integer(), primary_key\u003dTrue, autoincrement\u003dFalse),"},{"line_number":56,"context_line":"        sa.Column(u\u0027amphora_id\u0027, sa.String(36), nullable\u003dTrue),"},{"line_number":57,"context_line":"        sa.Column(u\u0027priority\u0027, sa.Integer())"},{"line_number":58,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_2595f43f","line":55,"range":{"start_line":55,"start_character":8,"end_line":55,"end_character":78},"in_reply_to":"9a061dce_8bb3340a","updated":"2016-04-11 23:44:44.000000000","message":"I agree.","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"44c86041bdaa8b34f708996847ca8d6f19e37532","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\"create_amphora_build_rate_limit_tables"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Revision ID: fc5582da7d8a"},{"line_number":18,"context_line":"Revises: 8c0851bdf6c3"},{"line_number":19,"context_line":"Create Date: 2016-04-07 19:42:28.171902"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_a87aafba","line":18,"updated":"2016-05-23 12:02:58.000000000","message":"down revision should be 9bf4d21caaea","commit_id":"ccecbb7d85c73e84f1fd42976bb765de63901259"},{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"44c86041bdaa8b34f708996847ca8d6f19e37532","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# revision identifiers, used by Alembic."},{"line_number":24,"context_line":"revision \u003d \u0027fc5582da7d8a\u0027"},{"line_number":25,"context_line":"down_revision \u003d \u00278c0851bdf6c3\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from alembic import op"},{"line_number":28,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_88752bcc","line":25,"updated":"2016-05-23 12:02:58.000000000","message":"ditto","commit_id":"ccecbb7d85c73e84f1fd42976bb765de63901259"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"afaf5b1f0b8a882a40ee40f3dd5e61b0c3c98873","unresolved":false,"context_lines":[{"line_number":24,"context_line":"revision \u003d \u0027fc5582da7d8a\u0027"},{"line_number":25,"context_line":"down_revision \u003d \u0027443fe6676637\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from alembic import op"},{"line_number":28,"context_line":"import sqlalchemy as sa"},{"line_number":29,"context_line":"from sqlalchemy import sql"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"1a1ced50_c9dc5549","line":27,"updated":"2017-03-16 16:45:12.000000000","message":"Need to fix these imports per pep8 E408","commit_id":"edc485061b76560e2f7416c2c83736f7150903a7"}],"octavia/db/repositories.py":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"552a7e969834150e91e60fa6d319431c3bd72755","unresolved":false,"context_lines":[{"line_number":580,"context_line":"    def add_to_build_queue(self, session, amphora_id\u003dNone, priority\u003dNone):"},{"line_number":581,"context_line":"        \"\"\"Adds the build request to the table.\"\"\""},{"line_number":582,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":583,"context_line":"            model \u003d self.model_class(id\u003dself.get_build_req_id(session) + 1,"},{"line_number":584,"context_line":"                                     amphora_id\u003damphora_id,"},{"line_number":585,"context_line":"                                     priority\u003dpriority)"},{"line_number":586,"context_line":"            session.add(model)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_959fd34f","line":583,"updated":"2016-04-08 19:59:27.000000000","message":"mmh, isn\u0027t there an auto increment type - otherwise use a uuid. Querying DB for id is wasteful --","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":12417,"name":"Aishwarya","email":"aishwarya.thangappa@gmail.com","username":"Aish"},"change_message_id":"f31f4362a14956bf03323c053ad1db6ef1a2d4ce","unresolved":false,"context_lines":[{"line_number":580,"context_line":"    def add_to_build_queue(self, session, amphora_id\u003dNone, priority\u003dNone):"},{"line_number":581,"context_line":"        \"\"\"Adds the build request to the table.\"\"\""},{"line_number":582,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":583,"context_line":"            model \u003d self.model_class(id\u003dself.get_build_req_id(session) + 1,"},{"line_number":584,"context_line":"                                     amphora_id\u003damphora_id,"},{"line_number":585,"context_line":"                                     priority\u003dpriority)"},{"line_number":586,"context_line":"            session.add(model)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_10063120","line":583,"in_reply_to":"9a061dce_959fd34f","updated":"2016-04-11 23:44:44.000000000","message":"Auto increment doesn\u0027t reset to 0 even when all the requests are removed. Using a timestamp would be better. Shall make changes accordingly.","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"8e7eb05b832de0d8db48c824c43a7ac6c28ae447","unresolved":false,"context_lines":[{"line_number":580,"context_line":"    def add_to_build_queue(self, session, amphora_id\u003dNone, priority\u003dNone):"},{"line_number":581,"context_line":"        \"\"\"Adds the build request to the table.\"\"\""},{"line_number":582,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":583,"context_line":"            model \u003d self.model_class(id\u003dself.get_build_req_id(session) + 1,"},{"line_number":584,"context_line":"                                     amphora_id\u003damphora_id,"},{"line_number":585,"context_line":"                                     priority\u003dpriority)"},{"line_number":586,"context_line":"            session.add(model)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a061dce_6bb860e6","line":583,"in_reply_to":"9a061dce_959fd34f","updated":"2016-04-08 20:54:06.000000000","message":"It\u0027s a good point but I dont think UUID would help much here.. Rather I would suggest using a timestamp..","commit_id":"134eb06e520dad48116e440bbf6226f346e48e5c"}]}
