)]}'
{"doc/source/command-objects/image.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    Image disk format (default: raw)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. option:: --owner \u003cproject\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Image owner project name or ID"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --size \u003csize\u003e"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_b049d790","line":57,"updated":"2015-09-21 17:57:31.000000000","message":"add *Image version 1 only.* here","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    Image owner project name or ID"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --size \u003csize\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Image size, in bytes (only used with --location and --copy-from)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. option:: --min-disk \u003cdisk-gb\u003e"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_d04ecb95","line":61,"updated":"2015-09-21 17:57:31.000000000","message":"add *Image version 1 only.* here","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":".. option:: --location \u003cimage-url\u003e"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    Download image from an existing URL"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. option:: --copy-from \u003cimage-url\u003e"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_5022bbba","line":74,"updated":"2015-09-21 17:57:31.000000000","message":"add *Image version 1 only.* here","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    Download image from an existing URL"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. option:: --copy-from \u003cimage-url\u003e"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    Copy image from the data store (similar to --location)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. option:: --file \u003cfile\u003e"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_70433f6d","line":77,"updated":"2015-09-21 17:57:31.000000000","message":"add *Image version 1 only.* here","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    Force image creation if volume is in use (only meaningful with --volume)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. option:: --checksum \u003cchecksum\u003e"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    Image hash used for verification"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. option:: --protected"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_3025c7c1","line":93,"updated":"2015-09-21 17:57:31.000000000","message":"add *Image version 1 only.* here","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fc61ab53597779db06fa09560bf942e1d2ba72d1","unresolved":false,"context_lines":[{"line_number":116,"context_line":".. option:: --tag \u003ctag\u003e"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    Set a tag on this image (repeat for multiple values)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":".. describe:: \u003cimage-name\u003e"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    New image name"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba15a1d1_c303670c","line":119,"updated":"2015-09-21 17:57:31.000000000","message":"add:\n\n.. versionadded:: 2\n\nhere","commit_id":"0f3c1f5628c936302b192ef8fb45e280633fc7fe"}],"openstackclient/image/v2/image.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a564991beb97d3d667ba14cf5b6c41d48bf5f4d7","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateImage\")"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def get_parser(self, prog_name):"},{"line_number":490,"context_line":"        parser \u003d super(CreateImage, self).get_parser(prog_name)"},{"line_number":491,"context_line":"        parser.add_argument("},{"line_number":492,"context_line":"            \"name\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_0d13f70e","line":489,"updated":"2015-09-20 04:34:14.000000000","message":"maybe leave a TODO that says we need to implement --store, --volume and --force.\n\nalso it seems like images v2 also have \"tags\" sauce: http://developer.openstack.org/api-ref-image-v2.html\n\nso maybe add that to the TODOs too","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"fbdc925c18ff70e45788f0da4314fee8a9373d92","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateImage\")"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"    def get_parser(self, prog_name):"},{"line_number":490,"context_line":"        parser \u003d super(CreateImage, self).get_parser(prog_name)"},{"line_number":491,"context_line":"        parser.add_argument("},{"line_number":492,"context_line":"            \"name\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_b91c8914","line":489,"in_reply_to":"ba15a1d1_0d13f70e","updated":"2015-09-20 17:32:43.000000000","message":"Done","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a564991beb97d3d667ba14cf5b6c41d48bf5f4d7","unresolved":false,"context_lines":[{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            # Wrap the call to catch exceptions in order to close files"},{"line_number":643,"context_line":"            try:"},{"line_number":644,"context_line":"                image_client.images.update(image\u003dimage, data\u003ddata)"},{"line_number":645,"context_line":"            finally:"},{"line_number":646,"context_line":"                # Clean up open files - make sure data isn\u0027t a string"},{"line_number":647,"context_line":"                if hasattr(data, \u0027close\u0027) and data !\u003d sys.stdin:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_4d624faf","line":644,"updated":"2015-09-20 04:34:14.000000000","message":"so my only issue with this patch is that we had a bug about doing a create then update, apparently folks didn\u0027t like this. since then we just do the create call. https://github.com/openstack/python-openstackclient/blob/master/openstackclient/image/v1/image.py#L246","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"fbdc925c18ff70e45788f0da4314fee8a9373d92","unresolved":false,"context_lines":[{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            # Wrap the call to catch exceptions in order to close files"},{"line_number":643,"context_line":"            try:"},{"line_number":644,"context_line":"                image_client.images.update(image\u003dimage, data\u003ddata)"},{"line_number":645,"context_line":"            finally:"},{"line_number":646,"context_line":"                # Clean up open files - make sure data isn\u0027t a string"},{"line_number":647,"context_line":"                if hasattr(data, \u0027close\u0027) and data !\u003d sys.stdin:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_f9a8c1dd","line":644,"in_reply_to":"ba15a1d1_4d624faf","updated":"2015-09-20 17:32:43.000000000","message":"Totally. Thing is - you can\u0027t do that with glanceclient v2 anymore. You must create as one call, then update with the data.","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"a564991beb97d3d667ba14cf5b6c41d48bf5f4d7","unresolved":false,"context_lines":[{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        info \u003d {}"},{"line_number":651,"context_line":"        info.update(image._info)"},{"line_number":652,"context_line":"        return zip(*sorted(six.iteritems(info)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_cd473f1c","line":652,"updated":"2015-09-20 04:34:14.000000000","message":"this can be streamlined with\n\n  return zip(*sorted(six.iteritems(image._info)))","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"fbdc925c18ff70e45788f0da4314fee8a9373d92","unresolved":false,"context_lines":[{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        info \u003d {}"},{"line_number":651,"context_line":"        info.update(image._info)"},{"line_number":652,"context_line":"        return zip(*sorted(six.iteritems(info)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_991f4509","line":652,"in_reply_to":"ba15a1d1_cd473f1c","updated":"2015-09-20 17:32:43.000000000","message":"Done","commit_id":"cb195b023921125452788f2f29b43feab078198e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"af7032dd3f40468b53ecdd921a22ffd4ee51cd70","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from cliff import lister"},{"line_number":24,"context_line":"from cliff import show"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from glanceclient.common import utils as gc_utils"},{"line_number":27,"context_line":"from openstackclient.api import utils as api_utils"},{"line_number":28,"context_line":"from openstackclient.common import parseractions"},{"line_number":29,"context_line":"from openstackclient.common import utils"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_5980cd8b","line":26,"updated":"2015-09-20 19:10:08.000000000","message":"moving this up with the other 3rd party imports","commit_id":"263dbebb9bb6b5d4912329c81cb0df795daf8cbc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"af7032dd3f40468b53ecdd921a22ffd4ee51cd70","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        return zip(*sorted(six.iteritems(info)))"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"class CreateImage(show.ShowOne):"},{"line_number":477,"context_line":"    \"\"\"Create/upload an image\"\"\""},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    log \u003d logging.getLogger(__name__ + \".CreateImage\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_797d91b0","line":476,"updated":"2015-09-20 19:10:08.000000000","message":"putting create alphabetically, after add","commit_id":"263dbebb9bb6b5d4912329c81cb0df795daf8cbc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"af7032dd3f40468b53ecdd921a22ffd4ee51cd70","unresolved":false,"context_lines":[{"line_number":654,"context_line":"                # update the image after the data has been uploaded"},{"line_number":655,"context_line":"                image \u003d image_client.images.get(image.id)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":"        return zip(*sorted(six.iteritems(image._info)))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_1949f58e","line":657,"updated":"2015-09-20 19:10:08.000000000","message":"apparently image doesn\u0027t have ._info, cause glance is weird","commit_id":"263dbebb9bb6b5d4912329c81cb0df795daf8cbc"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            help\u003d\"Image owner project name or ID\","},{"line_number":115,"context_line":"        )"},{"line_number":116,"context_line":"        parser.add_argument("},{"line_number":117,"context_line":"            \"--size\","},{"line_number":118,"context_line":"            metavar\u003d\"\u003csize\u003e\","},{"line_number":119,"context_line":"            help\u003d\"Image size, in bytes (only used with --location and\""},{"line_number":120,"context_line":"                 \" --copy-from)\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_69805147","line":117,"updated":"2015-09-21 13:25:30.000000000","message":"not supported in v2 server currently","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            help\u003d\"Minimum RAM size needed to boot image, in megabytes\","},{"line_number":133,"context_line":"        )"},{"line_number":134,"context_line":"        parser.add_argument("},{"line_number":135,"context_line":"            \"--location\","},{"line_number":136,"context_line":"            metavar\u003d\"\u003cimage-url\u003e\","},{"line_number":137,"context_line":"            help\u003d\"Download image from an existing URL\","},{"line_number":138,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_49a46d07","line":135,"updated":"2015-09-21 13:25:30.000000000","message":"We tested and this patch doesn\u0027t set a location right now.\n\nIt just adds a generic image property called \"location\" which won\u0027t be handled appropriately by the server.\n\nThe v2 server should support setting a location I think (if the policy allows it), but it may be broken currently :-(","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            help\u003d\"Download image from an existing URL\","},{"line_number":138,"context_line":"        )"},{"line_number":139,"context_line":"        parser.add_argument("},{"line_number":140,"context_line":"            \"--copy-from\","},{"line_number":141,"context_line":"            metavar\u003d\"\u003cimage-url\u003e\","},{"line_number":142,"context_line":"            help\u003d\"Copy image from the data store (similar to --location)\","},{"line_number":143,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_a978a990","line":140,"updated":"2015-09-21 13:25:30.000000000","message":"copy-from is not supported by the v2 glance server","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            help\u003d\"Upload image from local file\","},{"line_number":148,"context_line":"        )"},{"line_number":149,"context_line":"        parser.add_argument("},{"line_number":150,"context_line":"            \"--checksum\","},{"line_number":151,"context_line":"            metavar\u003d\"\u003cchecksum\u003e\","},{"line_number":152,"context_line":"            help\u003d\"Image hash used for verification\","},{"line_number":153,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_09419539","line":150,"updated":"2015-09-21 13:25:30.000000000","message":"We\u0027ve tried to document where the glance v2 server presents challenges for cli compatibility here:\n\nhttps://wiki.openstack.org/wiki/Openstackclient-glance-imagecreate-v1-v2\n\nWe don\u0027t think a checksum is accepted by a v2 glance server. (TBH I don\u0027t know if this is by design or it\u0027s just not implemented on the server side).\n\nSetting the server aside for now, we have a couple of options here:\n\n\n1. don\u0027t support it at all\n\ndon\u0027t include it in the help, error if it is supplied\n\n2. stub it out\n\nif someone supplies --checksum, recognise the argument and print a \u0027sorry, not supported in v2\u0027 message\n\n3. partially implement it in the client\n\nImage create will create either a zero size image, or when the data is supplied (--file xxx) it will both create a zero\nsize image (one api call) and then upload the data (a separate api call).\n\nIf image data is supplied we can check the supplied checksum with the checksum returned after the upload\n\nIf no image data is supplied we can\u0027t register the checksum with the server to be used later ... so we\u0027d have only partial support.","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            metavar\u003d\"\u003ctag\u003e\","},{"line_number":188,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":189,"context_line":"            help\u003d\"Set a tag on this image \""},{"line_number":190,"context_line":"                 \"(repeat option to set multiple tags)\","},{"line_number":191,"context_line":"        )"},{"line_number":192,"context_line":"        return parser"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_a9e189d2","line":190,"updated":"2015-09-21 13:25:30.000000000","message":"v1 also accepted a --store option\n\nis it ok to just not recognize that argument anymore or should we stub it out/have it marked deprecated in the help?","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"75baf05f62db4c7d76fe0d8564d764e8cd8ba0c4","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        if parsed_args.unprotected:"},{"line_number":225,"context_line":"            kwargs[\u0027protected\u0027] \u003d False"},{"line_number":226,"context_line":"        if parsed_args.public:"},{"line_number":227,"context_line":"            kwargs[\u0027is_public\u0027] \u003d True"},{"line_number":228,"context_line":"        if parsed_args.private:"},{"line_number":229,"context_line":"            kwargs[\u0027is_public\u0027] \u003d False"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_e97d41b2","line":227,"updated":"2015-09-21 13:25:30.000000000","message":"This won\u0027t work unfortunately.\n\nThe v2 client library doesn\u0027t understand \u0027is_public\u0027. The v2 server has \u0027visibility\u003dprivate|public|shared\u0027.\n\nAre you sitting down? Check out this wiki page which shows the glance client\u0027s own backwards incompatibilities: https://wiki.openstack.org/wiki/Glance-v2-v1-client-compatability\n\n(Yes, this broke the TripleO gate and lots of users.)\n\nWe will need to either map is_public\u003dTrue to visibility\u003dpublic here, or else in the glance client library. (See the original patch https://review.openstack.org/#/c/203280/8/openstackclient/image/v2/image.py)","commit_id":"6c3145a77e0312e4c454ccf2740c024a6389bbca"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"03a41c88c761c325d8c38a772f39c0cec4a215f9","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        # that v2 either doesn\u0027t support or supports weirdly."},{"line_number":89,"context_line":"        # --checksum - could be faked clientside perhaps?"},{"line_number":90,"context_line":"        # --owner - could be set as an update after the put?"},{"line_number":91,"context_line":"        # --location - maybe location add?"},{"line_number":92,"context_line":"        # --size - passing image size is actually broken in python-glanceclient"},{"line_number":93,"context_line":"        parser.add_argument("},{"line_number":94,"context_line":"            \"name\","}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_49cea384","line":91,"updated":"2015-09-21 15:36:30.000000000","message":"add --copy-from and --store to this list","commit_id":"51a438509a731a8254afc36e658e1356afd6cd31"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"892dd79df17cb5927f0d5bfeca24b95f02548c89","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        if parsed_args.unprotected:"},{"line_number":205,"context_line":"            kwargs[\u0027protected\u0027] \u003d False"},{"line_number":206,"context_line":"        if parsed_args.public:"},{"line_number":207,"context_line":"            kwargs[\u0027is_public\u0027] \u003d True"},{"line_number":208,"context_line":"        if parsed_args.private:"},{"line_number":209,"context_line":"            kwargs[\u0027is_public\u0027] \u003d False"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_8f64c249","line":207,"updated":"2015-09-21 14:36:36.000000000","message":"See patch set 5 comments on trying to set is_public here.\n\n $ openstack --os-image-api-version 2 image create --file /etc/fstab --public name1\n Unable to set \u0027is_public\u0027 to \u0027True\u0027. Reason: True is not of type u\u0027string\u0027\n\n Failed validating u\u0027type\u0027 in schema[u\u0027additionalProperties\u0027]:\n    {u\u0027type\u0027: u\u0027string\u0027}\n\n On instance[\u0027is_public\u0027]:\n    True","commit_id":"51a438509a731a8254afc36e658e1356afd6cd31"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"03a41c88c761c325d8c38a772f39c0cec4a215f9","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        if parsed_args.unprotected:"},{"line_number":205,"context_line":"            kwargs[\u0027protected\u0027] \u003d False"},{"line_number":206,"context_line":"        if parsed_args.public:"},{"line_number":207,"context_line":"            kwargs[\u0027is_public\u0027] \u003d True"},{"line_number":208,"context_line":"        if parsed_args.private:"},{"line_number":209,"context_line":"            kwargs[\u0027is_public\u0027] \u003d False"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_69928759","line":207,"in_reply_to":"ba15a1d1_8f64c249","updated":"2015-09-21 15:36:30.000000000","message":"++ this needs to be fixed before merging","commit_id":"51a438509a731a8254afc36e658e1356afd6cd31"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"dab357de2a8c752b918f6f9e0e3a83bd8fa402f3","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        for deadopt in self.deadopts:"},{"line_number":190,"context_line":"            if getattr(parsed_args, deadopt, None):"},{"line_number":191,"context_line":"                raise exceptions.CommandError("},{"line_number":192,"context_line":"                    \"ERROR: --%s was given, which is a Glance v1 option\""},{"line_number":193,"context_line":"                    \" that is no longer suppored in Glance v2\" % deadopt)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_41f50f81","line":190,"updated":"2015-09-21 18:48:27.000000000","message":"parsed_args will store copy-from as copy_from here, so we need to translate - to _ before doing the getattr","commit_id":"5b0a06686c9e81cd367dd00c442bf0d5314eca37"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5636fd632d9a57f321efa10924928825bf2852d3","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        for deadopt in self.deadopts:"},{"line_number":190,"context_line":"            if getattr(parsed_args, deadopt, None):"},{"line_number":191,"context_line":"                raise exceptions.CommandError("},{"line_number":192,"context_line":"                    \"ERROR: --%s was given, which is a Glance v1 option\""},{"line_number":193,"context_line":"                    \" that is no longer suppored in Glance v2\" % deadopt)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        # Build an attribute dict from the parsed args, only include"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_01e2b79f","line":192,"updated":"2015-09-21 18:50:48.000000000","message":"s/Glance/Image","commit_id":"5b0a06686c9e81cd367dd00c442bf0d5314eca37"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5636fd632d9a57f321efa10924928825bf2852d3","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            if getattr(parsed_args, deadopt, None):"},{"line_number":191,"context_line":"                raise exceptions.CommandError("},{"line_number":192,"context_line":"                    \"ERROR: --%s was given, which is a Glance v1 option\""},{"line_number":193,"context_line":"                    \" that is no longer suppored in Glance v2\" % deadopt)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        # Build an attribute dict from the parsed args, only include"},{"line_number":196,"context_line":"        # attributes that were actually set on the command line"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba15a1d1_61d053ca","line":193,"updated":"2015-09-21 18:50:48.000000000","message":"supported*","commit_id":"5b0a06686c9e81cd367dd00c442bf0d5314eca37"}]}
