)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5ef5b2f845b6fd127db439e10a36cb6efe115377","unresolved":false,"context_lines":[{"line_number":18,"context_line":"- Launch"},{"line_number":19,"context_line":"- Reboot"},{"line_number":20,"context_line":"- Terminate"},{"line_number":21,"context_line":"- Resize Volume"},{"line_number":22,"context_line":"- Create/Delete/List database(s)"},{"line_number":23,"context_line":"- Create/Delete/List user(s)"},{"line_number":24,"context_line":"- List Access"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_f02d6996","line":21,"updated":"2015-03-25 19:15:46.000000000","message":"I guess Resize Instance can also make an entry to the list.","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"8b33ecbaad040614127f8989c536455c2f5d0846","unresolved":false,"context_lines":[{"line_number":18,"context_line":"- Launch"},{"line_number":19,"context_line":"- Reboot"},{"line_number":20,"context_line":"- Terminate"},{"line_number":21,"context_line":"- Resize Volume"},{"line_number":22,"context_line":"- Create/Delete/List database(s)"},{"line_number":23,"context_line":"- Create/Delete/List user(s)"},{"line_number":24,"context_line":"- List Access"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_82977d47","line":21,"in_reply_to":"1a6ced46_f02d6996","updated":"2015-03-25 21:21:21.000000000","message":"Done","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5ef5b2f845b6fd127db439e10a36cb6efe115377","unresolved":false,"context_lines":[{"line_number":24,"context_line":"- List Access"},{"line_number":25,"context_line":"- Included unit tests for the different methods"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"I would recommend using flavor.medium atleast when creating a"},{"line_number":28,"context_line":"DB2 server instance. DB2 Express-C requires atleast 2GB of RAM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Another point to note is how DB2 creates and deletes users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_30ce21b5","line":27,"updated":"2015-03-25 19:15:46.000000000","message":"I would suggest to remove the specific flavor name ... because one does not knows what flavor does one have in their devstack implementation, though it is good specify the flavor specifics like you have specified for 2GB of RAM.","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"8b33ecbaad040614127f8989c536455c2f5d0846","unresolved":false,"context_lines":[{"line_number":24,"context_line":"- List Access"},{"line_number":25,"context_line":"- Included unit tests for the different methods"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"I would recommend using flavor.medium atleast when creating a"},{"line_number":28,"context_line":"DB2 server instance. DB2 Express-C requires atleast 2GB of RAM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Another point to note is how DB2 creates and deletes users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_a2947943","line":27,"in_reply_to":"1a6ced46_30ce21b5","updated":"2015-03-25 21:21:21.000000000","message":"Done","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5ef5b2f845b6fd127db439e10a36cb6efe115377","unresolved":false,"context_lines":[{"line_number":28,"context_line":"DB2 server instance. DB2 Express-C requires atleast 2GB of RAM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Another point to note is how DB2 creates and deletes users."},{"line_number":31,"context_line":"There isnt a notion of a DB2 user in DB2 unlike in the case of"},{"line_number":32,"context_line":"MySQL. When we create a user for DB2, the process involves first"},{"line_number":33,"context_line":"creating an OS user and then granting privileges to this user for"},{"line_number":34,"context_line":"the given database(s)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_90bc3508","line":31,"updated":"2015-03-25 19:15:46.000000000","message":"isn\u0027t","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"8b33ecbaad040614127f8989c536455c2f5d0846","unresolved":false,"context_lines":[{"line_number":28,"context_line":"DB2 server instance. DB2 Express-C requires atleast 2GB of RAM."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Another point to note is how DB2 creates and deletes users."},{"line_number":31,"context_line":"There isnt a notion of a DB2 user in DB2 unlike in the case of"},{"line_number":32,"context_line":"MySQL. When we create a user for DB2, the process involves first"},{"line_number":33,"context_line":"creating an OS user and then granting privileges to this user for"},{"line_number":34,"context_line":"the given database(s)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_c29df567","line":31,"in_reply_to":"1a6ced46_90bc3508","updated":"2015-03-25 21:21:21.000000000","message":"Done","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5ef5b2f845b6fd127db439e10a36cb6efe115377","unresolved":false,"context_lines":[{"line_number":38,"context_line":"driver to run these queries. This requires the guest agent to know"},{"line_number":39,"context_line":"about the username, password and database name to connect to. We"},{"line_number":40,"context_line":"can use the \u0027db2inst1\u0027 user(which is the instance user for the DB2"},{"line_number":41,"context_line":"server instance created) but since DB2 doesnt track the passwords,"},{"line_number":42,"context_line":"there isnt an easy way to get the password unless we stored it in a"},{"line_number":43,"context_line":"file or use a similar mechanism. Since I am not sure how safe that"},{"line_number":44,"context_line":"is, I decided to go with running the commands from command line."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_f06569b5","line":41,"updated":"2015-03-25 19:15:46.000000000","message":"doesn\u0027t","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"8b33ecbaad040614127f8989c536455c2f5d0846","unresolved":false,"context_lines":[{"line_number":38,"context_line":"driver to run these queries. This requires the guest agent to know"},{"line_number":39,"context_line":"about the username, password and database name to connect to. We"},{"line_number":40,"context_line":"can use the \u0027db2inst1\u0027 user(which is the instance user for the DB2"},{"line_number":41,"context_line":"server instance created) but since DB2 doesnt track the passwords,"},{"line_number":42,"context_line":"there isnt an easy way to get the password unless we stored it in a"},{"line_number":43,"context_line":"file or use a similar mechanism. Since I am not sure how safe that"},{"line_number":44,"context_line":"is, I decided to go with running the commands from command line."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_e29af16c","line":41,"in_reply_to":"1a6ced46_f06569b5","updated":"2015-03-25 21:21:21.000000000","message":"Done","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"5ef5b2f845b6fd127db439e10a36cb6efe115377","unresolved":false,"context_lines":[{"line_number":39,"context_line":"about the username, password and database name to connect to. We"},{"line_number":40,"context_line":"can use the \u0027db2inst1\u0027 user(which is the instance user for the DB2"},{"line_number":41,"context_line":"server instance created) but since DB2 doesnt track the passwords,"},{"line_number":42,"context_line":"there isnt an easy way to get the password unless we stored it in a"},{"line_number":43,"context_line":"file or use a similar mechanism. Since I am not sure how safe that"},{"line_number":44,"context_line":"is, I decided to go with running the commands from command line."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_50747d67","line":42,"updated":"2015-03-25 19:15:46.000000000","message":"isn\u0027t","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"8b33ecbaad040614127f8989c536455c2f5d0846","unresolved":false,"context_lines":[{"line_number":39,"context_line":"about the username, password and database name to connect to. We"},{"line_number":40,"context_line":"can use the \u0027db2inst1\u0027 user(which is the instance user for the DB2"},{"line_number":41,"context_line":"server instance created) but since DB2 doesnt track the passwords,"},{"line_number":42,"context_line":"there isnt an easy way to get the password unless we stored it in a"},{"line_number":43,"context_line":"file or use a similar mechanism. Since I am not sure how safe that"},{"line_number":44,"context_line":"is, I decided to go with running the commands from command line."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1a6ced46_22908949","line":42,"in_reply_to":"1a6ced46_50747d67","updated":"2015-03-25 21:21:21.000000000","message":"Done","commit_id":"743baa48dd69e8438feadc78eeff5d6db9f76c97"}],"trove/common/cfg.py":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"8b653a1d3a96ebb12100890bf34af2520a86a876","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    cfg.ListOpt(\u0027ignore_dbs\u0027,"},{"line_number":144,"context_line":"                default\u003d[\u0027lost+found\u0027, \u0027mysql\u0027, \u0027information_schema\u0027],"},{"line_number":145,"context_line":"                help\u003d\u0027Databases to exclude when listing databases.\u0027),"},{"line_number":146,"context_line":"    cfg.IntOpt(\u0027agent_call_low_timeout\u0027, default\u003d50,"},{"line_number":147,"context_line":"               help\u003d\"Maximum time (in seconds) to wait for Guest Agent \u0027quick\u0027\""},{"line_number":148,"context_line":"                    \"requests (such as retrieving a list of users or \""},{"line_number":149,"context_line":"                    \"databases).\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_3d5c0c19","line":146,"updated":"2015-03-13 19:22:21.000000000","message":"Why not use AGENT_HIGH_TIMEOUT rather than changing the low timeout?  This change defeats the purpose of having both.","commit_id":"400f0c55e4040ec7a6d0ebd3226537283967368e"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"78e9605a84758a1ecd9f392769e963edeca9194f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    cfg.ListOpt(\u0027ignore_dbs\u0027,"},{"line_number":144,"context_line":"                default\u003d[\u0027lost+found\u0027, \u0027mysql\u0027, \u0027information_schema\u0027],"},{"line_number":145,"context_line":"                help\u003d\u0027Databases to exclude when listing databases.\u0027),"},{"line_number":146,"context_line":"    cfg.IntOpt(\u0027agent_call_low_timeout\u0027, default\u003d50,"},{"line_number":147,"context_line":"               help\u003d\"Maximum time (in seconds) to wait for Guest Agent \u0027quick\u0027\""},{"line_number":148,"context_line":"                    \"requests (such as retrieving a list of users or \""},{"line_number":149,"context_line":"                    \"databases).\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_1d6d6ccc","line":146,"in_reply_to":"9a80dd14_3d5c0c19","updated":"2015-03-17 03:50:03.000000000","message":"Thats a mistake on my part. It wasnt supposed to be checked in. It was a change that I made when I  was testing a guest agent timeout issue on one of the methods. Apparently, it was a bug in the code, so fixed that part but forgot to reset this change to its original value. Thank you Morgan for pointing this out.","commit_id":"400f0c55e4040ec7a6d0ebd3226537283967368e"}],"trove/guestagent/datastore/experimental/db2/manager.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from trove.common import cfg"},{"line_number":17,"context_line":"from trove.openstack.common import log as logging"},{"line_number":18,"context_line":"from trove.openstack.common import periodic_task"},{"line_number":19,"context_line":"from trove.guestagent import dbaas"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_7a3b5d9c","line":16,"updated":"2015-03-24 08:23:36.000000000","message":"Need to import trove.common.exception","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from trove.common import cfg"},{"line_number":17,"context_line":"from trove.openstack.common import log as logging"},{"line_number":18,"context_line":"from trove.openstack.common import periodic_task"},{"line_number":19,"context_line":"from trove.guestagent import dbaas"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_d8bd186a","line":16,"in_reply_to":"1a6ced46_7a3b5d9c","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        LOG.debug(\"Preparing the guest agent for DB2.\")"},{"line_number":57,"context_line":"        self.appStatus.begin_install()"},{"line_number":58,"context_line":"        if device_path:"},{"line_number":59,"context_line":"            device \u003d volume.VolumeDevice(device_path)"},{"line_number":60,"context_line":"            device.unmount_device(device_path)"},{"line_number":61,"context_line":"            device.format()"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_5aea2110","line":58,"updated":"2015-03-24 08:23:36.000000000","message":"there is no stop_db.\n\nIs that missed, or is it the case that it wont start by-default on boot.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        LOG.debug(\"Preparing the guest agent for DB2.\")"},{"line_number":57,"context_line":"        self.appStatus.begin_install()"},{"line_number":58,"context_line":"        if device_path:"},{"line_number":59,"context_line":"            device \u003d volume.VolumeDevice(device_path)"},{"line_number":60,"context_line":"            device.unmount_device(device_path)"},{"line_number":61,"context_line":"            device.format()"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_98aba01c","line":58,"in_reply_to":"1a6ced46_5aea2110","updated":"2015-03-24 22:00:05.000000000","message":"Sushil, it wont start by default which is why it isnt being called specifically. Thank you.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            operation\u003d\u0027revoke_access\u0027, datastore\u003dMANAGER)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def reset_configuration(self, context, configuration):"},{"line_number":169,"context_line":"        LOG.debug(\"Resetting CouchDB configuration.\")"},{"line_number":170,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":171,"context_line":"            operation\u003d\u0027change_passwords\u0027, datastore\u003dMANAGER)"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fabf4dfa","line":169,"updated":"2015-03-24 08:23:36.000000000","message":"CouchDB","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":166,"context_line":"            operation\u003d\u0027revoke_access\u0027, datastore\u003dMANAGER)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def reset_configuration(self, context, configuration):"},{"line_number":169,"context_line":"        LOG.debug(\"Resetting CouchDB configuration.\")"},{"line_number":170,"context_line":"        raise exception.DatastoreOperationNotSupported("},{"line_number":171,"context_line":"            operation\u003d\u0027change_passwords\u0027, datastore\u003dMANAGER)"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_d8643824","line":169,"in_reply_to":"1a6ced46_fabf4dfa","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"}],"trove/guestagent/datastore/experimental/db2/service.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                shell\u003dTrue)"},{"line_number":63,"context_line":"        except KeyError:"},{"line_number":64,"context_line":"            raise RuntimeError("},{"line_number":65,"context_line":"                \"Command to change ownership of  DB2 data sirectory failed.\")"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def _enable_db_on_boot(self):"},{"line_number":68,"context_line":"        LOG.debug(\"Enable DB on boot.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_daf9b1c9","line":65,"updated":"2015-03-24 08:23:36.000000000","message":"s/sirectory/directory\n\nAlso I see everywhere else you are specifying it as \"DB2 local database directory\"\nit is different here.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                shell\u003dTrue)"},{"line_number":63,"context_line":"        except KeyError:"},{"line_number":64,"context_line":"            raise RuntimeError("},{"line_number":65,"context_line":"                \"Command to change ownership of  DB2 data sirectory failed.\")"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def _enable_db_on_boot(self):"},{"line_number":68,"context_line":"        LOG.debug(\"Enable DB on boot.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_587848c4","line":65,"in_reply_to":"1a6ced46_daf9b1c9","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def _disable_db_on_boot(self):"},{"line_number":78,"context_line":"        LOG.debug(\"Disable DB2 on boot.\")"},{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            utils.execute_with_timeout(system.STOP_DB2_ON_REBOOT, shell\u003dTrue)"},{"line_number":81,"context_line":"        except KeyError:"},{"line_number":82,"context_line":"            raise RuntimeError(\"Command to disable DB2 server on boot failed.\")"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_1af269d2","line":80,"updated":"2015-03-24 08:23:36.000000000","message":"Just a question, Dont you need something complimentary to ENABLE_AUTOSTART","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def _disable_db_on_boot(self):"},{"line_number":78,"context_line":"        LOG.debug(\"Disable DB2 on boot.\")"},{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            utils.execute_with_timeout(system.STOP_DB2_ON_REBOOT, shell\u003dTrue)"},{"line_number":81,"context_line":"        except KeyError:"},{"line_number":82,"context_line":"            raise RuntimeError(\"Command to disable DB2 server on boot failed.\")"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fb864e64","line":80,"in_reply_to":"1a6ced46_1af269d2","updated":"2015-03-24 22:00:05.000000000","message":"so the ENABLE_AUTOSTART and DISABLE_AUTOSTART can enable and disable db on boot. I removed START_DB2_ON_REBOOT and STOP_DB2_ON_REBOOT since it sets the same DB2AUTOSTART variable. \n\nThanks Sushil","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def start_db_with_conf_changes(self, config_contents):"},{"line_number":85,"context_line":"        LOG.debug(\"Starting DB2 with configuration changes.\")"},{"line_number":86,"context_line":"        self._write_config(config_contents)"},{"line_number":87,"context_line":"        self.start_db(True)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def _write_config(self, config_contents):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_ba86b511","line":86,"updated":"2015-03-24 08:23:36.000000000","message":"Since _write_config is not doing anything, why would you call it.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def start_db_with_conf_changes(self, config_contents):"},{"line_number":85,"context_line":"        LOG.debug(\"Starting DB2 with configuration changes.\")"},{"line_number":86,"context_line":"        self._write_config(config_contents)"},{"line_number":87,"context_line":"        self.start_db(True)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def _write_config(self, config_contents):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_7bd97e82","line":86,"in_reply_to":"1a6ced46_ba86b511","updated":"2015-03-24 22:00:05.000000000","message":"I have addressed this similar to what I have done with CouchDB and I see the comment has couchdb in it. Will fix it in the next patch.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.start_db(True)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def _write_config(self, config_contents):"},{"line_number":90,"context_line":"        return"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def start_db(self, update_db\u003dFalse):"},{"line_number":93,"context_line":"        LOG.debug(\"Start the DB2 server instance.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_7a8c3d36","line":90,"updated":"2015-03-24 08:23:36.000000000","message":"why do u need  this function, if it is not doing anything","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.start_db(True)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def _write_config(self, config_contents):"},{"line_number":90,"context_line":"        return"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def start_db(self, update_db\u003dFalse):"},{"line_number":93,"context_line":"        LOG.debug(\"Start the DB2 server instance.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_db5fd2e3","line":90,"in_reply_to":"1a6ced46_7a8c3d36","updated":"2015-03-24 22:00:05.000000000","message":"removed it.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                       shell\u003dTrue)"},{"line_number":98,"context_line":"        except KeyError:"},{"line_number":99,"context_line":"            raise RuntimeError(\"Command to start DB2 server not found.\")"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if not self.status.wait_for_real_status_to_change_to("},{"line_number":102,"context_line":"                rd_instance.ServiceStatuses.RUNNING,"},{"line_number":103,"context_line":"                self.state_change_wait_time, update_db):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_5ab781d8","line":100,"updated":"2015-03-24 08:23:36.000000000","message":"Not sure if KeyError is the correct exception\nwhat about ProcessExecutionError","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                       shell\u003dTrue)"},{"line_number":98,"context_line":"        except KeyError:"},{"line_number":99,"context_line":"            raise RuntimeError(\"Command to start DB2 server not found.\")"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        if not self.status.wait_for_real_status_to_change_to("},{"line_number":102,"context_line":"                rd_instance.ServiceStatuses.RUNNING,"},{"line_number":103,"context_line":"                self.state_change_wait_time, update_db):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_3b5d46ea","line":100,"in_reply_to":"1a6ced46_5ab781d8","updated":"2015-03-24 22:00:05.000000000","message":"Fixed it.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            utils.execute_with_timeout("},{"line_number":114,"context_line":"                system.STOP_DB2, shell\u003dTrue, timeout\u003dsystem.TIMEOUT)"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            raise RuntimeError(\"Command to stop DB2 server on boot failed.\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if not (self.status.wait_for_real_status_to_change_to("},{"line_number":119,"context_line":"                rd_instance.ServiceStatuses.SHUTDOWN,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_daca914e","line":116,"updated":"2015-03-24 08:23:36.000000000","message":"what about ProcessExecutionError","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            utils.execute_with_timeout("},{"line_number":114,"context_line":"                system.STOP_DB2, shell\u003dTrue, timeout\u003dsystem.TIMEOUT)"},{"line_number":115,"context_line":"        except KeyError:"},{"line_number":116,"context_line":"            raise RuntimeError(\"Command to stop DB2 server on boot failed.\")"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if not (self.status.wait_for_real_status_to_change_to("},{"line_number":119,"context_line":"                rd_instance.ServiceStatuses.SHUTDOWN,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_5b73e27f","line":116,"in_reply_to":"1a6ced46_daca914e","updated":"2015-03-24 22:00:05.000000000","message":"Fixed it","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        LOG.debug(\"Getting the status of the DB2 server instance.\")"},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            # If status check would be successful,"},{"line_number":145,"context_line":"            # bot stdin and stdout would contain nothing"},{"line_number":146,"context_line":"            out, err \u003d utils.execute_with_timeout("},{"line_number":147,"context_line":"                system.DB2_STATUS, shell\u003dTrue)"},{"line_number":148,"context_line":"            if \"0\" not in out:"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_7a2fddf6","line":145,"updated":"2015-03-24 08:23:36.000000000","message":"s/bot/both","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        LOG.debug(\"Getting the status of the DB2 server instance.\")"},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            # If status check would be successful,"},{"line_number":145,"context_line":"            # bot stdin and stdout would contain nothing"},{"line_number":146,"context_line":"            out, err \u003d utils.execute_with_timeout("},{"line_number":147,"context_line":"                system.DB2_STATUS, shell\u003dTrue)"},{"line_number":148,"context_line":"            if \"0\" not in out:"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_3b2b8631","line":145,"in_reply_to":"1a6ced46_7a2fddf6","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                                              shell\u003dshell,"},{"line_number":165,"context_line":"                                              timeout\u003dtimeout)"},{"line_number":166,"context_line":"        except exception.ProcessExecutionError as pe:"},{"line_number":167,"context_line":"            LOG.debug(pe)"},{"line_number":168,"context_line":"            raise"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def create_database(self, databases):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fa210dfd","line":167,"updated":"2015-03-24 08:23:36.000000000","message":"I think it should log exception","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"2d273af53bc77ff8fd3d2ab3a42d0e8a2da2f705","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            mydb \u003d models.ValidatedMySQLDatabase()"},{"line_number":176,"context_line":"            mydb.deserialize(item)"},{"line_number":177,"context_line":"            dbName \u003d mydb.name"},{"line_number":178,"context_line":"            LOG.debug(\"Creating DB2 databases: %s.\" % dbName)"},{"line_number":179,"context_line":"            try:"},{"line_number":180,"context_line":"                self.run_command("},{"line_number":181,"context_line":"                    system.CREATE_DB_COMMAND % {\u0027dbname\u0027: dbName})"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_f53824a2","line":178,"updated":"2015-03-24 18:07:12.000000000","message":"The log message should be singular.\n\nAlso, need to add check(s) that the db name is valid.\n\nhttp://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_10.5.0/com.ibm.db2.luw.admin.dbobj.doc/doc/c0007246.html","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            mydb \u003d models.ValidatedMySQLDatabase()"},{"line_number":176,"context_line":"            mydb.deserialize(item)"},{"line_number":177,"context_line":"            dbName \u003d mydb.name"},{"line_number":178,"context_line":"            LOG.debug(\"Creating DB2 databases: %s.\" % dbName)"},{"line_number":179,"context_line":"            try:"},{"line_number":180,"context_line":"                self.run_command("},{"line_number":181,"context_line":"                    system.CREATE_DB_COMMAND % {\u0027dbname\u0027: dbName})"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_db2c3205","line":178,"in_reply_to":"1a6ced46_f53824a2","updated":"2015-03-24 22:00:05.000000000","message":"Will make the change to the log message in the next patch. About adding checks for the db name - I am not sure whether we need to add such checks here. Wouldnt it throw an error anyways if the name wasnt valid. How would this be different from us doing the check here and throwing an exception. I might be missing something. Thanks Matthew.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            except exception.ProcessExecutionError as pe:"},{"line_number":183,"context_line":"                LOG.debug(\"There was an error creating database: %s - %s\" % ("},{"line_number":184,"context_line":"                          dbName, pe))"},{"line_number":185,"context_line":"                pass"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def delete_database(self, database):"},{"line_number":188,"context_line":"        \"\"\"Delete the specified database.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fa4f4dbc","line":185,"updated":"2015-03-24 08:23:36.000000000","message":"fyi, this would mean that out of multiple databases requested to be created, some might not be created if there are exceptions.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            except exception.ProcessExecutionError as pe:"},{"line_number":183,"context_line":"                LOG.debug(\"There was an error creating database: %s - %s\" % ("},{"line_number":184,"context_line":"                          dbName, pe))"},{"line_number":185,"context_line":"                pass"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def delete_database(self, database):"},{"line_number":188,"context_line":"        \"\"\"Delete the specified database.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_7b509e5e","line":185,"in_reply_to":"1a6ced46_fa4f4dbc","updated":"2015-03-24 22:00:05.000000000","message":"THats right. If we are passed in more than 1 database names, the idea is that we should try to create as many databases as we can. What I can do in addition is to log the databases that were not created.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        except exception.ProcessExecutionError as pe:"},{"line_number":198,"context_line":"            LOG.debug(\"There was an error while deleting database:%s - %s.\" % ("},{"line_number":199,"context_line":"                dbName, pe))"},{"line_number":200,"context_line":"            raise exception.GuestError(_(\"Unable to delete database: %s\") %"},{"line_number":201,"context_line":"                                       dbName)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def list_databases(self, limit\u003dNone, marker\u003dNone, include_marker\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_1a4fc9be","line":200,"updated":"2015-03-24 08:23:36.000000000","message":"It would be great if you can end the statement with a \u0027.\u0027","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        except exception.ProcessExecutionError as pe:"},{"line_number":198,"context_line":"            LOG.debug(\"There was an error while deleting database:%s - %s.\" % ("},{"line_number":199,"context_line":"                dbName, pe))"},{"line_number":200,"context_line":"            raise exception.GuestError(_(\"Unable to delete database: %s\") %"},{"line_number":201,"context_line":"                                       dbName)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def list_databases(self, limit\u003dNone, marker\u003dNone, include_marker\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_dbc8b224","line":200,"in_reply_to":"1a6ced46_1a4fc9be","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                        LOG.debug(pe)"},{"line_number":280,"context_line":"                        pass"},{"line_number":281,"context_line":"        except exception.ProcessExecutionError as pe:"},{"line_number":282,"context_line":"            LOG.debug(\"There was an error: %s\" % pe.message)"},{"line_number":283,"context_line":"            pass"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def delete_user(self, user):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fa84adb2","line":282,"updated":"2015-03-24 08:23:36.000000000","message":"\"error while creating user\"\n\nThough I wonder if you ever reach this exception because run_command is already under another try:catch blocks passing the exception","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                        LOG.debug(pe)"},{"line_number":280,"context_line":"                        pass"},{"line_number":281,"context_line":"        except exception.ProcessExecutionError as pe:"},{"line_number":282,"context_line":"            LOG.debug(\"There was an error: %s\" % pe.message)"},{"line_number":283,"context_line":"            pass"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def delete_user(self, user):"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_fbf2ce6d","line":282,"in_reply_to":"1a6ced46_fa84adb2","updated":"2015-03-24 22:00:05.000000000","message":"Forgot to change this message. will do in the next message. I have changed the run_command method so that it just throws the exception.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":316,"context_line":"                    system.DELETE_USER_COMMAND % {"},{"line_number":317,"context_line":"                        \u0027login\u0027: db2_user.name.lower()})"},{"line_number":318,"context_line":"            except exception.ProcessExecutionError as pe:"},{"line_number":319,"context_line":"                LOG.debug("},{"line_number":320,"context_line":"                    \"There was an error while deleting user: %s.\" % pe)"},{"line_number":321,"context_line":"                raise exception.GuestError(_(\"Unable to delete user: %s\") %"},{"line_number":322,"context_line":"                                           userName)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_1a826994","line":319,"updated":"2015-03-24 08:23:36.000000000","message":"Why not LOG.exception","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":316,"context_line":"                    system.DELETE_USER_COMMAND % {"},{"line_number":317,"context_line":"                        \u0027login\u0027: db2_user.name.lower()})"},{"line_number":318,"context_line":"            except exception.ProcessExecutionError as pe:"},{"line_number":319,"context_line":"                LOG.debug("},{"line_number":320,"context_line":"                    \"There was an error while deleting user: %s.\" % pe)"},{"line_number":321,"context_line":"                raise exception.GuestError(_(\"Unable to delete user: %s\") %"},{"line_number":322,"context_line":"                                           userName)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_3bed468c","line":319,"in_reply_to":"1a6ced46_1a826994","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                LOG.debug(\"item \u003d %r\" % item)"},{"line_number":349,"context_line":"                user \u003d item.split() if item !\u003d \"\" else None"},{"line_number":350,"context_line":"                LOG.debug(\"user \u003d %r\" % (user))"},{"line_number":351,"context_line":"                if user is not None and user[0] not in (\u0027PUBLIC\u0027, \u0027DB2INST1\u0027) \\"},{"line_number":352,"context_line":"                        and user[1] \u003d\u003d \u0027Y\u0027:"},{"line_number":353,"context_line":"                    userlist.append(user[0])"},{"line_number":354,"context_line":"            result \u003d iter(userlist)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_1a59895a","line":351,"updated":"2015-03-24 08:23:36.000000000","message":"so these users for the criteria for ignore_user","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                LOG.debug(\"item \u003d %r\" % item)"},{"line_number":349,"context_line":"                user \u003d item.split() if item !\u003d \"\" else None"},{"line_number":350,"context_line":"                LOG.debug(\"user \u003d %r\" % (user))"},{"line_number":351,"context_line":"                if user is not None and user[0] not in (\u0027PUBLIC\u0027, \u0027DB2INST1\u0027) \\"},{"line_number":352,"context_line":"                        and user[1] \u003d\u003d \u0027Y\u0027:"},{"line_number":353,"context_line":"                    userlist.append(user[0])"},{"line_number":354,"context_line":"            result \u003d iter(userlist)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_5b03e241","line":351,"in_reply_to":"1a6ced46_1a59895a","updated":"2015-03-24 22:00:05.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"448cec5da0a2ec52e0f86451f065880581a0e6e9","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def start_db_with_conf_changes(self, config_contents):"},{"line_number":86,"context_line":"        \u0027\u0027\u0027"},{"line_number":87,"context_line":"         Will not be implementing configuration change API for CouchDB in"},{"line_number":88,"context_line":"         the Kilo release. Currently all that this method does is to start"},{"line_number":89,"context_line":"         the CouchDB server without any configuration changes. Looks like"},{"line_number":90,"context_line":"         this needs to be implemented to enable volume resize on the guest"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_5bd755bf","line":87,"updated":"2015-03-25 05:26:14.000000000","message":"CouchDB?","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def start_db_with_conf_changes(self, config_contents):"},{"line_number":86,"context_line":"        \u0027\u0027\u0027"},{"line_number":87,"context_line":"         Will not be implementing configuration change API for CouchDB in"},{"line_number":88,"context_line":"         the Kilo release. Currently all that this method does is to start"},{"line_number":89,"context_line":"         the CouchDB server without any configuration changes. Looks like"},{"line_number":90,"context_line":"         this needs to be implemented to enable volume resize on the guest"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_22bec9b4","line":87,"in_reply_to":"1a6ced46_5bd755bf","updated":"2015-03-25 21:29:28.000000000","message":"changed.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"}],"trove/guestagent/datastore/experimental/db2/system.py":[{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"f12c26f634bec1b480cd39a6c89ee45bb892a6da","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"START_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dYES\"\u0027"},{"line_number":18,"context_line":"STOP_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dNO\"\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_0373dc15","line":15,"updated":"2015-03-24 13:49:04.000000000","message":"There is a lot of repeated code here.\nTry refactoring like:\nDB2CMD - \u0027sudo su - db2inst1 -c \u0027\nDB2SQL - DB2CMD + \u0027db2 \u0027\nDB2DBSQL - DB2SQL + \u0027+x connect to dbname; db2 \u0027\n\nAlso if you are going to run connect every time, you should also terminate to be clean.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"START_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dYES\"\u0027"},{"line_number":18,"context_line":"STOP_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dNO\"\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_3ba46656","line":15,"in_reply_to":"1a6ced46_0373dc15","updated":"2015-03-24 22:00:05.000000000","message":"Will fix this in the next patch. Thanks Matthew","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"97447340ccede0fcc8d731ec85cae2571f8f2218","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"START_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dYES\"\u0027"},{"line_number":18,"context_line":"STOP_DB2_ON_REBOOT \u003d \u0027sudo su - db2inst1 -c \"db2set DB2AUTOSTART\u003dNO\"\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_5d5ba42d","line":15,"in_reply_to":"1a6ced46_3ba46656","updated":"2015-03-25 21:38:42.000000000","message":"Done.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"f12c26f634bec1b480cd39a6c89ee45bb892a6da","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027sudo su - db2inst1 -c \u0027"},{"line_number":21,"context_line":"    \u0027\"/opt/ibm/db2/V10.5/instance/db2iauto -on db2inst1\"\u0027)"},{"line_number":22,"context_line":"START_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2start\"\u0027"},{"line_number":23,"context_line":"STOP_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2stop\"\u0027"},{"line_number":24,"context_line":"DB2_STATUS \u003d \u0027ps -ef | grep db2inst1 | grep db2sysc | grep -v grep | wc -l\u0027"},{"line_number":25,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown db2inst1 %(datadir)s\""},{"line_number":26,"context_line":"CHANGE_DB_DIR_GROUP_OWNER \u003d \"sudo chgrp db2inst1 %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_26a2a6ae","line":23,"updated":"2015-03-24 13:49:04.000000000","message":"If there are any active connections then this will fail.\nI suggest giving the user a force option on the API, which will trigger a \u0027force application all\u0027 before the stop.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"45c0b7c18282aa1794d69efc86753e7d418d40d8","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027sudo su - db2inst1 -c \u0027"},{"line_number":21,"context_line":"    \u0027\"/opt/ibm/db2/V10.5/instance/db2iauto -on db2inst1\"\u0027)"},{"line_number":22,"context_line":"START_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2start\"\u0027"},{"line_number":23,"context_line":"STOP_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2stop\"\u0027"},{"line_number":24,"context_line":"DB2_STATUS \u003d \u0027ps -ef | grep db2inst1 | grep db2sysc | grep -v grep | wc -l\u0027"},{"line_number":25,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown db2inst1 %(datadir)s\""},{"line_number":26,"context_line":"CHANGE_DB_DIR_GROUP_OWNER \u003d \"sudo chgrp db2inst1 %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_b7723ee1","line":23,"in_reply_to":"1a6ced46_26a2a6ae","updated":"2015-03-24 14:43:42.000000000","message":"Adding such a \"force\" option would require a blueprint.  Adding such options would be \"option creep\".  Rather than add a force option, maybe we should just always do what is required to stop the database.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027sudo su - db2inst1 -c \u0027"},{"line_number":21,"context_line":"    \u0027\"/opt/ibm/db2/V10.5/instance/db2iauto -on db2inst1\"\u0027)"},{"line_number":22,"context_line":"START_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2start\"\u0027"},{"line_number":23,"context_line":"STOP_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2stop\"\u0027"},{"line_number":24,"context_line":"DB2_STATUS \u003d \u0027ps -ef | grep db2inst1 | grep db2sysc | grep -v grep | wc -l\u0027"},{"line_number":25,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown db2inst1 %(datadir)s\""},{"line_number":26,"context_line":"CHANGE_DB_DIR_GROUP_OWNER \u003d \"sudo chgrp db2inst1 %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_dbbd126a","line":23,"in_reply_to":"1a6ced46_b7723ee1","updated":"2015-03-24 22:00:05.000000000","message":"will address this in the next patch. THanks Morgan \u0026 Matthew.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"97447340ccede0fcc8d731ec85cae2571f8f2218","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027sudo su - db2inst1 -c \u0027"},{"line_number":21,"context_line":"    \u0027\"/opt/ibm/db2/V10.5/instance/db2iauto -on db2inst1\"\u0027)"},{"line_number":22,"context_line":"START_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2start\"\u0027"},{"line_number":23,"context_line":"STOP_DB2 \u003d \u0027sudo su - db2inst1 -c \"db2stop\"\u0027"},{"line_number":24,"context_line":"DB2_STATUS \u003d \u0027ps -ef | grep db2inst1 | grep db2sysc | grep -v grep | wc -l\u0027"},{"line_number":25,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown db2inst1 %(datadir)s\""},{"line_number":26,"context_line":"CHANGE_DB_DIR_GROUP_OWNER \u003d \"sudo chgrp db2inst1 %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_bd8e5877","line":23,"in_reply_to":"1a6ced46_dbbd126a","updated":"2015-03-25 21:38:42.000000000","message":"So based on the DB2 documentation: \"It is recommended that TERMINATE be issued prior to executing the db2stop command\", have added the \u0027db2 terminate\u0027 command. \u0027db2 terminate\u0027 closes all connection the the instance.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"012504a892f738a76279f23e80fce13b295fe0cd","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \u0027ON DATABASE FROM USER %(login)s\"\u0027)"},{"line_number":45,"context_line":"LIST_DB_USERS \u003d ("},{"line_number":46,"context_line":"    \"sudo su - db2inst1 -c \u0027db2 +o  connect to %(dbname)s; \""},{"line_number":47,"context_line":"    \"db2 -x  select grantee, dataaccessauth from sysibm.sysdbauth\u0027\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_a5585a33","line":47,"updated":"2015-03-24 08:23:36.000000000","message":"Few statements are starting with single-quote others with double-quotes, it would be great if you manage them to be in sync.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"97447340ccede0fcc8d731ec85cae2571f8f2218","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \u0027ON DATABASE FROM USER %(login)s\"\u0027)"},{"line_number":45,"context_line":"LIST_DB_USERS \u003d ("},{"line_number":46,"context_line":"    \"sudo su - db2inst1 -c \u0027db2 +o  connect to %(dbname)s; \""},{"line_number":47,"context_line":"    \"db2 -x  select grantee, dataaccessauth from sysibm.sysdbauth\u0027\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_3df26806","line":47,"in_reply_to":"1a6ced46_9bab9a1c","updated":"2015-03-25 21:38:42.000000000","message":"Done","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"c39952793dd4891c6913c1903803e05acba8eceb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \u0027ON DATABASE FROM USER %(login)s\"\u0027)"},{"line_number":45,"context_line":"LIST_DB_USERS \u003d ("},{"line_number":46,"context_line":"    \"sudo su - db2inst1 -c \u0027db2 +o  connect to %(dbname)s; \""},{"line_number":47,"context_line":"    \"db2 -x  select grantee, dataaccessauth from sysibm.sysdbauth\u0027\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a6ced46_9bab9a1c","line":47,"in_reply_to":"1a6ced46_a5585a33","updated":"2015-03-24 22:00:05.000000000","message":"will address this in next patch. Thanks Sushil.","commit_id":"72608568248ccb3e44ff78422a6ff6bf9de4afa9"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"448cec5da0a2ec52e0f86451f065880581a0e6e9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    \u0027ON DATABASE FROM USER %(login)s\"\u0027)"},{"line_number":46,"context_line":"LIST_DB_USERS \u003d ("},{"line_number":47,"context_line":"    \"sudo su - db2inst1 -c \u0027db2 +o  connect to %(dbname)s; \""},{"line_number":48,"context_line":"    \"db2 -x  select grantee, dataaccessauth from sysibm.sysdbauth\u0027\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_fb5ba184","line":48,"updated":"2015-03-25 05:26:14.000000000","message":"Since you are using \"sudo su - db2inst1 -c \" at a lot of places, it would be a good idea to have a constant for this and reuse the same.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    \u0027ON DATABASE FROM USER %(login)s\"\u0027)"},{"line_number":46,"context_line":"LIST_DB_USERS \u003d ("},{"line_number":47,"context_line":"    \"sudo su - db2inst1 -c \u0027db2 +o  connect to %(dbname)s; \""},{"line_number":48,"context_line":"    \"db2 -x  select grantee, dataaccessauth from sysibm.sysdbauth\u0027\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_a2c9d95a","line":48,"in_reply_to":"1a6ced46_fb5ba184","updated":"2015-03-25 21:29:28.000000000","message":"should all be consolidated.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"5a6c44ae0a51decc62ecd4559e60006072690439","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"DB2_INSTANCE_OWNER \u003d \"db2inst1\""},{"line_number":18,"context_line":"ENABLE_AUTOSTART \u003d ("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa963961_82d13afe","line":15,"updated":"2015-03-26 13:28:22.000000000","message":"I really don\u0027t like the idea of doing all these SQL commands via the command line. Output will be in strings, and parsing it (and all possible outcomes) will be a nightmare.\n\nI just found this:\nhttps://pypi.python.org/pypi/ibm_db\n\nIt is a Python DB2 library, written by guys at IBM. It will be a much better way of doing a lot of this.","commit_id":"e8b99f6c32a9cf9ec7337db09fd932c473d6aa54"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"414b8976ef3b7a980b406903090da753d025e0ca","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"DB2_INSTANCE_OWNER \u003d \"db2inst1\""},{"line_number":18,"context_line":"ENABLE_AUTOSTART \u003d ("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa963961_e2992621","line":15,"in_reply_to":"fa963961_82d13afe","updated":"2015-03-26 13:32:59.000000000","message":"Sorry, here is the stuff we should use. SQLAlchemy DB2:\nhttps://code.google.com/p/ibm-db/wiki/README","commit_id":"e8b99f6c32a9cf9ec7337db09fd932c473d6aa54"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"d6d62031b9e64e689cf13ddaff71d878b4eb10fc","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"TIMEOUT \u003d 1200"},{"line_number":17,"context_line":"DB2_INSTANCE_OWNER \u003d \"db2inst1\""},{"line_number":18,"context_line":"ENABLE_AUTOSTART \u003d ("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa963961_cbf2bd06","line":15,"in_reply_to":"fa963961_82d13afe","updated":"2015-03-26 14:24:45.000000000","message":"Yes there is the IBM SQLAlchemy driver for DB2 and I have mentioned this in the commit message about why I decided not to use that in this first  pass of DB2 guestagent. There was some concerns about storing and accessing the superuser password thats needed to use the driver. I would see that as an enhancement that we can work on in the next release. In the mean time, I do alot of the parsing in the DB2 commands itself using the DB2 options itself available (so we dont have to do that from the code). For example, try running the LIST_DB_USERS command. \n\nAnother thing to note is that when we use the SQLAlchemy driver, the only operations that can take advantage of this feature are: LIST_DB_USERS, GRANT_USER_ACCESS and REVOKE_USER_ACCESS. To be able to use the SQLAlchemy driver we need a database name to connect to and also provide the username and password.","commit_id":"e8b99f6c32a9cf9ec7337db09fd932c473d6aa54"},{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"5a6c44ae0a51decc62ecd4559e60006072690439","unresolved":false,"context_lines":[{"line_number":20,"context_line":"DISABLE_AUTOSTART \u003d ("},{"line_number":21,"context_line":"    \"/opt/ibm/db2/V10.5/instance/db2iauto -off \" + DB2_INSTANCE_OWNER)"},{"line_number":22,"context_line":"START_DB2 \u003d \"db2start\""},{"line_number":23,"context_line":"STOP_DB2 \u003d \"db2 terminate; db2stop\""},{"line_number":24,"context_line":"DB2_STATUS \u003d (\"ps -ef | grep \" + DB2_INSTANCE_OWNER + \" | grep db2sysc |\""},{"line_number":25,"context_line":"              \"grep -v grep | wc -l\")"},{"line_number":26,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown \" + DB2_INSTANCE_OWNER + \" %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":19,"id":"fa963961_a2a9dee1","line":23,"updated":"2015-03-26 13:28:22.000000000","message":"http://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0024969.html?cp\u003dSSEPGG_10.5.0%2F2-2-0-1-4\n\nDo a FORCE APPLICATION ALL before TERMINATE to make sure all processes are ended before db2stop\u0027ing.\n\nTERMINATE is good for your connection, but will not close others.","commit_id":"e8b99f6c32a9cf9ec7337db09fd932c473d6aa54"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"9963e58a095f9387b1b6c344cbb387d89825df46","unresolved":false,"context_lines":[{"line_number":20,"context_line":"DISABLE_AUTOSTART \u003d ("},{"line_number":21,"context_line":"    \"/opt/ibm/db2/V10.5/instance/db2iauto -off \" + DB2_INSTANCE_OWNER)"},{"line_number":22,"context_line":"START_DB2 \u003d \"db2start\""},{"line_number":23,"context_line":"STOP_DB2 \u003d \"db2 terminate; db2stop\""},{"line_number":24,"context_line":"DB2_STATUS \u003d (\"ps -ef | grep \" + DB2_INSTANCE_OWNER + \" | grep db2sysc |\""},{"line_number":25,"context_line":"              \"grep -v grep | wc -l\")"},{"line_number":26,"context_line":"CHANGE_DB_DIR_OWNER \u003d \"sudo chown \" + DB2_INSTANCE_OWNER + \" %(datadir)s\""}],"source_content_type":"text/x-python","patch_set":19,"id":"fa963961_f840ae09","line":23,"in_reply_to":"fa963961_a2a9dee1","updated":"2015-03-26 17:32:10.000000000","message":"Done","commit_id":"e8b99f6c32a9cf9ec7337db09fd932c473d6aa54"}],"trove/tests/unittests/guestagent/test_db2_manager.py":[{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        volume.VolumeDevice.format \u003d MagicMock(return_value\u003dNone)"},{"line_number":93,"context_line":"        volume.VolumeDevice.mount \u003d MagicMock(return_value\u003dNone)"},{"line_number":94,"context_line":"        volume.VolumeDevice.mount_points \u003d MagicMock(return_value\u003d[])"},{"line_number":95,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":96,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        self.manager.prepare(context\u003dself.context, packages\u003dpackages,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_a759195c","line":95,"updated":"2015-03-25 00:25:03.000000000","message":"This needs this needs to be \"unmocked\" at the end of test","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        volume.VolumeDevice.format \u003d MagicMock(return_value\u003dNone)"},{"line_number":93,"context_line":"        volume.VolumeDevice.mount \u003d MagicMock(return_value\u003dNone)"},{"line_number":94,"context_line":"        volume.VolumeDevice.mount_points \u003d MagicMock(return_value\u003d[])"},{"line_number":95,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":96,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        self.manager.prepare(context\u003dself.context, packages\u003dpackages,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_a2d0f9f6","line":95,"in_reply_to":"1a6ced46_a759195c","updated":"2015-03-25 21:29:28.000000000","message":"Done. This is the reason why the test_create_user test was failing every now and then. And I couldnt figure out why it was. Thanks Doug for pointing this out. I totally forgot to check this file and was debugging the test_dbaas file. Appreciate it.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        volume.VolumeDevice.mount \u003d MagicMock(return_value\u003dNone)"},{"line_number":94,"context_line":"        volume.VolumeDevice.mount_points \u003d MagicMock(return_value\u003d[])"},{"line_number":95,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":96,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        self.manager.prepare(context\u003dself.context, packages\u003dpackages,"},{"line_number":99,"context_line":"                             config_contents\u003dconfig_content,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_c7545523","line":96,"updated":"2015-03-25 00:25:03.000000000","message":"ditto","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        volume.VolumeDevice.mount \u003d MagicMock(return_value\u003dNone)"},{"line_number":94,"context_line":"        volume.VolumeDevice.mount_points \u003d MagicMock(return_value\u003d[])"},{"line_number":95,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":96,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        self.manager.prepare(context\u003dself.context, packages\u003dpackages,"},{"line_number":99,"context_line":"                             config_contents\u003dconfig_content,"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_c2d97523","line":96,"in_reply_to":"1a6ced46_c7545523","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def test_restart(self):"},{"line_number":120,"context_line":"        db2_service.DB2AppStatus._get_actual_db_status \u003d MagicMock("},{"line_number":121,"context_line":"            return_value\u003drd_instance.ServiceStatuses.RUNNING)"},{"line_number":122,"context_line":"        db2_service.DB2App.restart \u003d MagicMock(return_value\u003dNone)"},{"line_number":123,"context_line":"        self.manager.restart(self.context)"},{"line_number":124,"context_line":"        self.assertTrue(db2_service.DB2AppStatus._get_actual_db_status.called)"},{"line_number":125,"context_line":"        db2_service.DB2App.restart.assert_any_call("}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_c7e1b59b","line":122,"updated":"2015-03-25 00:25:03.000000000","message":"I think this will cause the same issue that was fixed for CouchDB.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def test_restart(self):"},{"line_number":120,"context_line":"        db2_service.DB2AppStatus._get_actual_db_status \u003d MagicMock("},{"line_number":121,"context_line":"            return_value\u003drd_instance.ServiceStatuses.RUNNING)"},{"line_number":122,"context_line":"        db2_service.DB2App.restart \u003d MagicMock(return_value\u003dNone)"},{"line_number":123,"context_line":"        self.manager.restart(self.context)"},{"line_number":124,"context_line":"        self.assertTrue(db2_service.DB2AppStatus._get_actual_db_status.called)"},{"line_number":125,"context_line":"        db2_service.DB2App.restart.assert_any_call("}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_220c09a5","line":122,"in_reply_to":"1a6ced46_c7e1b59b","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            do_not_start_on_reboot\u003dFalse)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def test_create_database(self):"},{"line_number":137,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":138,"context_line":"        self.manager.create_database(self.context, [\u0027db1\u0027])"},{"line_number":139,"context_line":"        db2_service.DB2Admin.create_database.assert_any_call([\u0027db1\u0027])"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_e764f123","line":137,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            do_not_start_on_reboot\u003dFalse)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def test_create_database(self):"},{"line_number":137,"context_line":"        db2_service.DB2Admin.create_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":138,"context_line":"        self.manager.create_database(self.context, [\u0027db1\u0027])"},{"line_number":139,"context_line":"        db2_service.DB2Admin.create_database.assert_any_call([\u0027db1\u0027])"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_82fa1d73","line":137,"in_reply_to":"1a6ced46_e764f123","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        db2_service.DB2Admin.create_database.assert_any_call([\u0027db1\u0027])"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def test_create_user(self):"},{"line_number":142,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":143,"context_line":"        self.manager.create_user(self.context, [\u0027user1\u0027])"},{"line_number":144,"context_line":"        db2_service.DB2Admin.create_user.assert_any_call([\u0027user1\u0027])"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_07682df4","line":142,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        db2_service.DB2Admin.create_database.assert_any_call([\u0027db1\u0027])"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def test_create_user(self):"},{"line_number":142,"context_line":"        db2_service.DB2Admin.create_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":143,"context_line":"        self.manager.create_user(self.context, [\u0027user1\u0027])"},{"line_number":144,"context_line":"        db2_service.DB2Admin.create_user.assert_any_call([\u0027user1\u0027])"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_a2f7198a","line":142,"in_reply_to":"1a6ced46_07682df4","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def test_delete_database(self):"},{"line_number":147,"context_line":"        databases \u003d [\u0027db1\u0027]"},{"line_number":148,"context_line":"        db2_service.DB2Admin.delete_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":149,"context_line":"        self.manager.delete_database(self.context, databases)"},{"line_number":150,"context_line":"        db2_service.DB2Admin.delete_database.assert_any_call(databases)"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_276fe9fe","line":148,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def test_delete_database(self):"},{"line_number":147,"context_line":"        databases \u003d [\u0027db1\u0027]"},{"line_number":148,"context_line":"        db2_service.DB2Admin.delete_database \u003d MagicMock(return_value\u003dNone)"},{"line_number":149,"context_line":"        self.manager.delete_database(self.context, databases)"},{"line_number":150,"context_line":"        db2_service.DB2Admin.delete_database.assert_any_call(databases)"},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_c2f09593","line":148,"in_reply_to":"1a6ced46_276fe9fe","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_delete_user(self):"},{"line_number":153,"context_line":"        user \u003d [\u0027user1\u0027]"},{"line_number":154,"context_line":"        db2_service.DB2Admin.delete_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":155,"context_line":"        self.manager.delete_user(self.context, user)"},{"line_number":156,"context_line":"        db2_service.DB2Admin.delete_user.assert_any_call(user)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_477225e6","line":154,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_delete_user(self):"},{"line_number":153,"context_line":"        user \u003d [\u0027user1\u0027]"},{"line_number":154,"context_line":"        db2_service.DB2Admin.delete_user \u003d MagicMock(return_value\u003dNone)"},{"line_number":155,"context_line":"        self.manager.delete_user(self.context, user)"},{"line_number":156,"context_line":"        db2_service.DB2Admin.delete_user.assert_any_call(user)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_022e2dfb","line":154,"in_reply_to":"1a6ced46_477225e6","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        db2_service.DB2Admin.delete_user.assert_any_call(user)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_list_databases(self):"},{"line_number":159,"context_line":"        db2_service.DB2Admin.list_databases \u003d MagicMock("},{"line_number":160,"context_line":"            return_value\u003d[\u0027database1\u0027])"},{"line_number":161,"context_line":"        databases \u003d self.manager.list_databases(self.context)"},{"line_number":162,"context_line":"        self.assertThat(databases, Not(Is(None)))"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_87733de6","line":159,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        db2_service.DB2Admin.delete_user.assert_any_call(user)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_list_databases(self):"},{"line_number":159,"context_line":"        db2_service.DB2Admin.list_databases \u003d MagicMock("},{"line_number":160,"context_line":"            return_value\u003d[\u0027database1\u0027])"},{"line_number":161,"context_line":"        databases \u003d self.manager.list_databases(self.context)"},{"line_number":162,"context_line":"        self.assertThat(databases, Not(Is(None)))"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_22332964","line":159,"in_reply_to":"1a6ced46_87733de6","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        db2_service.DB2Admin.list_databases.assert_any_call(None, None, False)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def test_list_users(self):"},{"line_number":167,"context_line":"        db2_service.DB2Admin.list_users \u003d MagicMock(return_value\u003d[\u0027user1\u0027])"},{"line_number":168,"context_line":"        users \u003d self.manager.list_users(self.context)"},{"line_number":169,"context_line":"        self.assertThat(users, Equals([\u0027user1\u0027]))"},{"line_number":170,"context_line":"        db2_service.DB2Admin.list_users.assert_any_call(None, None, False)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_c77d35b3","line":167,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        db2_service.DB2Admin.list_databases.assert_any_call(None, None, False)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def test_list_users(self):"},{"line_number":167,"context_line":"        db2_service.DB2Admin.list_users \u003d MagicMock(return_value\u003d[\u0027user1\u0027])"},{"line_number":168,"context_line":"        users \u003d self.manager.list_users(self.context)"},{"line_number":169,"context_line":"        self.assertThat(users, Equals([\u0027user1\u0027]))"},{"line_number":170,"context_line":"        db2_service.DB2Admin.list_users.assert_any_call(None, None, False)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_4234a549","line":167,"in_reply_to":"1a6ced46_c77d35b3","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    def test_get_users(self):"},{"line_number":173,"context_line":"        username \u003d [\u0027user1\u0027]"},{"line_number":174,"context_line":"        hostname \u003d [\u0027host\u0027]"},{"line_number":175,"context_line":"        db2_service.DB2Admin.get_user \u003d MagicMock(return_value\u003d[\u0027user1\u0027])"},{"line_number":176,"context_line":"        users \u003d self.manager.get_user(self.context, username, hostname)"},{"line_number":177,"context_line":"        self.assertThat(users, Equals([\u0027user1\u0027]))"},{"line_number":178,"context_line":"        db2_service.DB2Admin.get_user.assert_any_call(username, hostname)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_e74b1185","line":175,"updated":"2015-03-25 00:25:03.000000000","message":"same issue","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    def test_get_users(self):"},{"line_number":173,"context_line":"        username \u003d [\u0027user1\u0027]"},{"line_number":174,"context_line":"        hostname \u003d [\u0027host\u0027]"},{"line_number":175,"context_line":"        db2_service.DB2Admin.get_user \u003d MagicMock(return_value\u003d[\u0027user1\u0027])"},{"line_number":176,"context_line":"        users \u003d self.manager.get_user(self.context, username, hostname)"},{"line_number":177,"context_line":"        self.assertThat(users, Equals([\u0027user1\u0027]))"},{"line_number":178,"context_line":"        db2_service.DB2Admin.get_user.assert_any_call(username, hostname)"}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_6239a140","line":175,"in_reply_to":"1a6ced46_e74b1185","updated":"2015-03-25 21:29:28.000000000","message":"Done","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"}],"trove/tests/unittests/guestagent/test_dbaas.py":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"eeeb9babbbebed954bd40ba17acc9221a0f38973","unresolved":false,"context_lines":[{"line_number":2350,"context_line":"    def test_create_database(self):"},{"line_number":2351,"context_line":"        databases \u003d []"},{"line_number":2352,"context_line":"        databases.append(FAKE_DB)"},{"line_number":2353,"context_line":"        with patch.object(self.db2Admin, \u0027run_command\u0027):"},{"line_number":2354,"context_line":"            self.db2Admin.create_database(databases)"},{"line_number":2355,"context_line":"            self.assertTrue(self.db2Admin.run_command.called)"},{"line_number":2356,"context_line":"            args, _ \u003d self.db2Admin.run_command.call_args_list[0]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a6ced46_8c466622","line":2353,"updated":"2015-03-22 17:38:33.000000000","message":"You need to add something as third argument in patch, something like return_value or side_effect","commit_id":"133e24ea82cf3e42cc681439c8e3cf849ecd5693"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"eeeb9babbbebed954bd40ba17acc9221a0f38973","unresolved":false,"context_lines":[{"line_number":2384,"context_line":"                             \"Delete database queries are not the same\")"},{"line_number":2385,"context_line":""},{"line_number":2386,"context_line":"    def test_create_users(self):"},{"line_number":2387,"context_line":"        with patch.object(self.db2Admin, \u0027run_command\u0027):"},{"line_number":2388,"context_line":"            self.db2Admin.create_user(FAKE_USER)"},{"line_number":2389,"context_line":"            self.assertTrue(self.db2Admin.run_command.called)"},{"line_number":2390,"context_line":"            args, _ \u003d self.db2Admin.run_command.call_args_list[0]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a6ced46_4c3c6e94","line":2387,"updated":"2015-03-22 17:38:33.000000000","message":"You need to add something as third argument in patch, something like return_value or side_effect","commit_id":"133e24ea82cf3e42cc681439c8e3cf849ecd5693"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"eeeb9babbbebed954bd40ba17acc9221a0f38973","unresolved":false,"context_lines":[{"line_number":2447,"context_line":"    def test_list_users(self):"},{"line_number":2448,"context_line":"        databases \u003d []"},{"line_number":2449,"context_line":"        databases.append(FAKE_DB)"},{"line_number":2450,"context_line":"        self.db2Admin.list_databases \u003d Mock()"},{"line_number":2451,"context_line":"        self.db2Admin.list_databases.return_value \u003d databases, None"},{"line_number":2452,"context_line":"        with patch.object(self.db2Admin, \u0027run_command\u0027,"},{"line_number":2453,"context_line":"                          side_effect\u003dProcessExecutionError(\u0027Error\u0027)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a6ced46_cc477e1c","line":2450,"updated":"2015-03-22 17:38:33.000000000","message":"Since you have no return value in list_databases, probably your look in list_users\n\nfor database in databases:\n\nis not going to proced and hence run_command is not getting called.","commit_id":"133e24ea82cf3e42cc681439c8e3cf849ecd5693"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"1482140da87e64a6cf730f1434f1d5643ab19a8f","unresolved":false,"context_lines":[{"line_number":2329,"context_line":""},{"line_number":2330,"context_line":"        self.db2App.restart(rd_instance.ServiceStatuses.SHUTDOWN)"},{"line_number":2331,"context_line":""},{"line_number":2332,"context_line":"        self.assertFalse(self.db2App.stop_db.called)"},{"line_number":2333,"context_line":"        self.assertTrue(self.db2App.start_db.called)"},{"line_number":2334,"context_line":"        self.assertTrue(conductor_api.API.heartbeat.called)"},{"line_number":2335,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_672641d0","line":2332,"updated":"2015-03-25 00:25:03.000000000","message":"Why is this assertFalse? It looks like the restart method should call this.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"},{"author":{"_account_id":10295,"name":"mariam john","email":"mariamj@us.ibm.com","username":"mariamj"},"change_message_id":"efe7062df2f0c1242e18923b1458ccec736afd37","unresolved":false,"context_lines":[{"line_number":2329,"context_line":""},{"line_number":2330,"context_line":"        self.db2App.restart(rd_instance.ServiceStatuses.SHUTDOWN)"},{"line_number":2331,"context_line":""},{"line_number":2332,"context_line":"        self.assertFalse(self.db2App.stop_db.called)"},{"line_number":2333,"context_line":"        self.assertTrue(self.db2App.start_db.called)"},{"line_number":2334,"context_line":"        self.assertTrue(conductor_api.API.heartbeat.called)"},{"line_number":2335,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1a6ced46_4259058d","line":2332,"in_reply_to":"1a6ced46_672641d0","updated":"2015-03-25 21:29:28.000000000","message":"made changes to restart method and also made corresponding changes to the tests to reflect this change. Thanks Doug.","commit_id":"a7f5a81da7ee9768cedc9bc4370e2ea7e78f6a42"}]}
