)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a5731bb1acbfbd9f3d5342df3bebb759c029a501","unresolved":false,"context_lines":[{"line_number":2772,"context_line":"        volume_ref[\u0027mountpoint\u0027] \u003d mountpoint"},{"line_number":2773,"context_line":"        volume_ref[\u0027attach_status\u0027] \u003d \u0027attached\u0027"},{"line_number":2774,"context_line":"        volume_ref[\u0027instance_uuid\u0027] \u003d instance_uuid"},{"line_number":2775,"context_line":"        volume_ref[\u0027attach_time\u0027] \u003d now"},{"line_number":2776,"context_line":"        volume_ref.save(session\u003dsession)"},{"line_number":2777,"context_line":""},{"line_number":2778,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAHX%2F%2F4dI%3D","line":2775,"updated":"2012-05-23 20:37:22.000000000","message":"I\u0027m not sure I understand why you didn\u0027t just put utils.utcnow() right here.  It\u0027s no big deal, but still…","commit_id":"17da8c7994de2b7bf9f4bbf0f7cabab622143665"}],"nova/db/sqlalchemy/migrate_repo/versions/098_upate_volume_attach_time.py":[{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"5dad84b22824fe46abb63ce77aa27351d57631f7","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from sqlalchemy import Column, Table, MetaData, DateTime"},{"line_number":19,"context_line":"from sqlalchemy import String"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F56o%3D","line":18,"updated":"2012-05-20 01:14:03.000000000","message":"Any reason why you can\u0027t have all those imports in 1 line?","commit_id":"7abf57645fbbaab069ee38cd729077f8919ff897"},{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"5dad84b22824fe46abb63ce77aa27351d57631f7","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def downgrade(migrate_engine):"},{"line_number":31,"context_line":"    meta \u003d MetaData()"},{"line_number":32,"context_line":"    meta.bind \u003d mirgrate_engine"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    volumes \u003d Table(\u0027volumes\u0027, meta, autoload\u003dTrue)"},{"line_number":35,"context_line":"    volumes.c.attach_time.alter(String(255))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F56s%3D","line":32,"updated":"2012-05-20 01:14:03.000000000","message":"Typo, should be migrate_engine","commit_id":"7abf57645fbbaab069ee38cd729077f8919ff897"}],"nova/db/sqlalchemy/migrate_repo/versions/098_update_volume_attach_time.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a5731bb1acbfbd9f3d5342df3bebb759c029a501","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    volumes \u003d Table(\u0027volumes\u0027, meta, autoload\u003dTrue)"},{"line_number":26,"context_line":"    volumes.c.attach_time.alter(DateTime(timezone\u003dFalse))"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAHX%2F%2F4c0%3D","line":26,"updated":"2012-05-23 20:37:22.000000000","message":"One thing that worries me is that the previously existing String field may contain data that the backing database may not be able to convert to a DateTime.  It may be worthwhile to suck in the data from the database and perform the appropriate conversion in Python; that way, if you do run across a value that can\u0027t be converted, you can do something intelligent, like substituting the record\u0027s creation time or just setting the field to None.","commit_id":"17da8c7994de2b7bf9f4bbf0f7cabab622143665"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"4a32760ed3053b83be3a43485aa473dc07aacd91","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    volumes \u003d Table(\u0027volumes\u0027, meta, autoload\u003dTrue)"},{"line_number":26,"context_line":"    volumes.c.attach_time.alter(DateTime(timezone\u003dFalse))"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def downgrade(migrate_engine):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAHX%2F%2F4HE%3D","line":26,"in_reply_to":"AAAAHX%2F%2F4c0%3D","updated":"2012-05-24 12:47:01.000000000","message":"There probably can\u0027t possibly be any useful data in the DB for this field, but I\u0027d be happier if we were clearing existing data just to be safe","commit_id":"17da8c7994de2b7bf9f4bbf0f7cabab622143665"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"5dad84b22824fe46abb63ce77aa27351d57631f7","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    availability_zone \u003d Column(String(255))  # TODO(vish): foreign key?"},{"line_number":344,"context_line":"    instance_uuid \u003d Column(String(36))"},{"line_number":345,"context_line":"    mountpoint \u003d Column(String(255))"},{"line_number":346,"context_line":"    attach_time \u003d Column(DateTime)  # TODO(vish): datetime"},{"line_number":347,"context_line":"    status \u003d Column(String(255))  # TODO(vish): enum?"},{"line_number":348,"context_line":"    attach_status \u003d Column(String(255))  # TODO(vish): enum"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F56k%3D","line":346,"updated":"2012-05-20 01:14:03.000000000","message":"Remove the TODO note if we have this?","commit_id":"7abf57645fbbaab069ee38cd729077f8919ff897"}],"nova/volume/manager.py":[{"author":{"_account_id":1004,"name":"Mohammed Naser","email":"mnaser@vexxhost.com","username":"mnaser"},"change_message_id":"59558be413b08f0bef84842aa0f65c6f3f56f469","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        # EC2 requires attach time according to the EC2 specification"},{"line_number":249,"context_line":"        now \u003d utils.utcnow()"},{"line_number":250,"context_line":"        self.db.volume_update(context,"},{"line_number":251,"context_line":"                              volume_id,"},{"line_number":252,"context_line":"                              {\u0027attach_time\u0027: now})"},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F52g%3D","line":250,"updated":"2012-05-20 14:33:03.000000000","message":"Just a thought, why not have it set the attach_time in the volume_attached db function?","commit_id":"896dbb940f712d3fd5ed3de203556c92eb1e4e0f"}]}
