)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"a10cc730acc5b860dfedd44007cdd2c21b630369","unresolved":false,"context_lines":[{"line_number":16,"context_line":"This value will be converted into a list before being passed on."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I95468984cbb32e092560fad7e6ed070fb8944a45"},{"line_number":19,"context_line":"Depends-On: Iedd3fea0e86648fae364f075915555dcb2c4f199"},{"line_number":20,"context_line":"Implements: blueprint nova-validate-certificates"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f2577a7_b6644a23","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":53},"updated":"2017-09-15 20:43:42.000000000","message":"I think this should instead depend on the novaclient patch at I235541a689732826950c7b2a510d5835211120c3 (which itself depends on the API patch in nova).","commit_id":"c881761d9546e717831dd0c5e00e3b6e2e7aa9d9"}],"doc/source/cli/man/openstack.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89734c6a5b4ba54d008400fde1b8955d889b03a8","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    Authentication region name"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. envvar:: OS_TRUSTED_CERTIFICATE_IDS"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    List of trusted certificate IDs"},{"line_number":450,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f2577a7_36b59eef","line":447,"updated":"2017-09-08 16:34:36.000000000","message":"This is not a global option, only global options have environment variables to avoid side effects.","commit_id":"f2f658fa1fd6aed476d82072b3add9b65682c3b3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. envvar:: OS_TRUSTED_IMAGE_CERTIFICATE_IDS"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    List of trusted image certificate IDs"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":".. envvar:: OS_CACERT"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_4294d58c","line":449,"updated":"2018-06-15 15:08:59.000000000","message":"As in the novaclient change:\n\nhttps://review.openstack.org/#/c/500396/\n\nPlease mention where this env var is used.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. envvar:: OS_TRUSTED_IMAGE_CERTIFICATE_IDS"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    List of trusted image certificate IDs"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":".. envvar:: OS_CACERT"},{"line_number":452,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_e02b7492","line":449,"in_reply_to":"5f7c97a3_4294d58c","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7247a28fae8f69dad19306142a092cac434777da","unresolved":false,"context_lines":[{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    Authentication region name"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":".. envvar:: OS_TRUSTED_IMAGE_CERTIFICATE_IDS"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    A comma-delimited list of trusted image certificate IDs. Only used"},{"line_number":450,"context_line":"    with the ``openstack server create`` and ``openstack server rebuild``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_f9727318","line":447,"range":{"start_line":447,"start_character":0,"end_line":447,"end_character":44},"updated":"2018-07-23 21:53:24.000000000","message":"environment variables are considered similar to global options, is there a good case to be made or is this just for convenience?","commit_id":"b9a59022c2b52c5348711913dd39bb6c022703e9"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89734c6a5b4ba54d008400fde1b8955d889b03a8","unresolved":false,"context_lines":[{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-certificate-ids\u003e\u0027,"},{"line_number":550,"context_line":"            dest\u003d\u0027trusted_certificates\u0027,"},{"line_number":551,"context_line":"            default\u003dutils.env(\u0027OS_TRUSTED_CERTIFICATE_IDS\u0027),"},{"line_number":552,"context_line":"            help\u003d_(\u0027Comma-separated list of trusted certificate UUIDs.\u0027"},{"line_number":553,"context_line":"                   \u0027Defaults to env[OS_TRUSTED_CERTIFICATE_IDS].\u0027"},{"line_number":554,"context_line":"                   \u0027These UUIDs are used to validate certificates during the \u0027"},{"line_number":555,"context_line":"                   \u0027image signature verification process.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f2577a7_b6c86e74","line":552,"updated":"2017-09-08 16:34:36.000000000","message":"Our practice for options that can take multiple values is to specify the option multiple times, see --property and --tag as examples.","commit_id":"f2f658fa1fd6aed476d82072b3add9b65682c3b3"},{"author":{"_account_id":24711,"name":"Jackie Truong","email":"jacklyn.truong@jhuapl.edu","username":"jackie-truong"},"change_message_id":"1bff609113a3dc2e62dc576e266926fdd025ea13","unresolved":false,"context_lines":[{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-certificate-ids\u003e\u0027,"},{"line_number":550,"context_line":"            dest\u003d\u0027trusted_certificates\u0027,"},{"line_number":551,"context_line":"            default\u003dutils.env(\u0027OS_TRUSTED_CERTIFICATE_IDS\u0027),"},{"line_number":552,"context_line":"            help\u003d_(\u0027Comma-separated list of trusted certificate UUIDs.\u0027"},{"line_number":553,"context_line":"                   \u0027Defaults to env[OS_TRUSTED_CERTIFICATE_IDS].\u0027"},{"line_number":554,"context_line":"                   \u0027These UUIDs are used to validate certificates during the \u0027"},{"line_number":555,"context_line":"                   \u0027image signature verification process.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f2577a7_2e0ab1d1","line":552,"in_reply_to":"5f2577a7_b6c86e74","updated":"2017-09-12 02:37:23.000000000","message":"Thanks, Dean. Fixed in patch set 2.","commit_id":"f2f658fa1fd6aed476d82072b3add9b65682c3b3"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"4dde1626af94f6adb7f3e731fd4a04cdb0c8039d","unresolved":false,"context_lines":[{"line_number":1431,"context_line":"        kwargs \u003d {}"},{"line_number":1432,"context_line":""},{"line_number":1433,"context_line":"        if parsed_args.trusted_certificate_id:"},{"line_number":1434,"context_line":"            kwargs[\u0027trusted_certificates\u0027] \u003d parsed_args.trusted_certificate_id"},{"line_number":1435,"context_line":""},{"line_number":1436,"context_line":"        server \u003d server.rebuild(image, parsed_args.password, **kwargs)"},{"line_number":1437,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_1299291e","line":1434,"updated":"2017-09-13 16:24:22.000000000","message":"I think you need to check the env var here too","commit_id":"8e1ba164c3fae94cbaa71ebc43a394071d3a1424"},{"author":{"_account_id":24711,"name":"Jackie Truong","email":"jacklyn.truong@jhuapl.edu","username":"jackie-truong"},"change_message_id":"3c1df03e776a6a83dd83268cd2fc734e9a65c86c","unresolved":false,"context_lines":[{"line_number":1431,"context_line":"        kwargs \u003d {}"},{"line_number":1432,"context_line":""},{"line_number":1433,"context_line":"        if parsed_args.trusted_certificate_id:"},{"line_number":1434,"context_line":"            kwargs[\u0027trusted_certificates\u0027] \u003d parsed_args.trusted_certificate_id"},{"line_number":1435,"context_line":""},{"line_number":1436,"context_line":"        server \u003d server.rebuild(image, parsed_args.password, **kwargs)"},{"line_number":1437,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f2577a7_e8990a6e","line":1434,"in_reply_to":"5f2577a7_1299291e","updated":"2017-09-13 16:59:35.000000000","message":"Good catch! This will be fixed in the next patch.","commit_id":"8e1ba164c3fae94cbaa71ebc43a394071d3a1424"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"7478d71950b8772e0bbd8a5b230ed13a5ea39f88","unresolved":false,"context_lines":[{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-certificate-id\u003e\u0027,"},{"line_number":550,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":551,"context_line":"            default\u003d[],"},{"line_number":552,"context_line":"            help\u003d_(\u0027Trusted certificate UUID used to validate certificates \u0027"},{"line_number":553,"context_line":"                   \u0027during the image signature verification process \u0027"},{"line_number":554,"context_line":"                   \u0027(repeat option to set multiple trusted certificates)\u0027),"},{"line_number":555,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2577a7_75affc7c","line":552,"range":{"start_line":552,"start_character":40,"end_line":552,"end_character":44},"updated":"2017-09-15 18:40:36.000000000","message":"I would just say \"ID\" instead of \"UUID\" since it doesn\u0027t have to be a UUID.","commit_id":"c881761d9546e717831dd0c5e00e3b6e2e7aa9d9"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"7478d71950b8772e0bbd8a5b230ed13a5ea39f88","unresolved":false,"context_lines":[{"line_number":1412,"context_line":"            metavar\u003d\u0027\u003ctrusted-certificate-id\u003e\u0027,"},{"line_number":1413,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1414,"context_line":"            default\u003d[],"},{"line_number":1415,"context_line":"            help\u003d_(\u0027Trusted certificate UUID used to validate certificates \u0027"},{"line_number":1416,"context_line":"                   \u0027during the image signature verification process \u0027"},{"line_number":1417,"context_line":"                   \u0027(repeat option to set multiple trusted certificates)\u0027),"},{"line_number":1418,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2577a7_35cdf465","line":1415,"range":{"start_line":1415,"start_character":40,"end_line":1415,"end_character":44},"updated":"2017-09-15 18:40:36.000000000","message":"same here","commit_id":"c881761d9546e717831dd0c5e00e3b6e2e7aa9d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        )"},{"line_number":547,"context_line":"        parser.add_argument("},{"line_number":548,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":550,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":551,"context_line":"            default\u003d[],"},{"line_number":552,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_c2e54540","line":549,"range":{"start_line":549,"start_character":48,"end_line":549,"end_character":50},"updated":"2018-06-15 15:08:59.000000000","message":"ids?","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0081ba5734f88a43ff19dac9e73d4786d018b0fe","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        )"},{"line_number":547,"context_line":"        parser.add_argument("},{"line_number":548,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":550,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":551,"context_line":"            default\u003d[],"},{"line_number":552,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_92b8d275","line":549,"range":{"start_line":549,"start_character":48,"end_line":549,"end_character":50},"in_reply_to":"5f7c97a3_236736ed","updated":"2018-06-18 22:59:25.000000000","message":"Yeah I suppose, I must have confused this with something else, but -id matches nova boot:\n\nhttps://github.com/openstack/python-novaclient/blob/master/novaclient/v2/shell.py#L887","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":546,"context_line":"        )"},{"line_number":547,"context_line":"        parser.add_argument("},{"line_number":548,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":549,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":550,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":551,"context_line":"            default\u003d[],"},{"line_number":552,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_236736ed","line":549,"range":{"start_line":549,"start_character":48,"end_line":549,"end_character":50},"in_reply_to":"5f7c97a3_c2e54540","updated":"2018-06-18 20:14:43.000000000","message":"Since only one is specified at a time, it should be just \"id\" right?","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":1408,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1409,"context_line":"            help\u003d_(\u0027Wait for rebuild to complete\u0027),"},{"line_number":1410,"context_line":"        )"},{"line_number":1411,"context_line":"        parser.add_argument("},{"line_number":1412,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":1413,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":1414,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_c2cea5b6","line":1411,"updated":"2018-06-15 15:08:59.000000000","message":"As in the novaclient change:\n\nhttps://review.openstack.org/#/c/500396/\n\nWe\u0027ll want an --unset-trusted-image-certificate-ids option to allow users to unset the existing trusted image cert IDs for the server during rebuild.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":1408,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1409,"context_line":"            help\u003d_(\u0027Wait for rebuild to complete\u0027),"},{"line_number":1410,"context_line":"        )"},{"line_number":1411,"context_line":"        parser.add_argument("},{"line_number":1412,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":1413,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":1414,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_e38e1e78","line":1411,"in_reply_to":"5f7c97a3_c2cea5b6","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":1410,"context_line":"        )"},{"line_number":1411,"context_line":"        parser.add_argument("},{"line_number":1412,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":1413,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":1414,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1415,"context_line":"            default\u003d[],"},{"line_number":1416,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_62d6b156","line":1413,"range":{"start_line":1413,"start_character":48,"end_line":1413,"end_character":50},"updated":"2018-06-15 15:08:59.000000000","message":"ids","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0081ba5734f88a43ff19dac9e73d4786d018b0fe","unresolved":false,"context_lines":[{"line_number":1410,"context_line":"        )"},{"line_number":1411,"context_line":"        parser.add_argument("},{"line_number":1412,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":1413,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":1414,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1415,"context_line":"            default\u003d[],"},{"line_number":1416,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_32af7e2c","line":1413,"range":{"start_line":1413,"start_character":48,"end_line":1413,"end_character":50},"in_reply_to":"5f7c97a3_436272db","updated":"2018-06-18 22:59:25.000000000","message":"Yeah same in nova rebuild:\n\nhttps://github.com/openstack/python-novaclient/blob/master/novaclient/v2/shell.py#L1832\n\nI must have been thinking of:\n\ndest\u003d\u0027trusted_image_certificates\u0027,\n\nin novaclient.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":1410,"context_line":"        )"},{"line_number":1411,"context_line":"        parser.add_argument("},{"line_number":1412,"context_line":"            \u0027--trusted-image-certificate-id\u0027,"},{"line_number":1413,"context_line":"            metavar\u003d\u0027\u003ctrusted-image-certificate-id\u003e\u0027,"},{"line_number":1414,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1415,"context_line":"            default\u003d[],"},{"line_number":1416,"context_line":"            help\u003d_(\u0027Trusted image certificate ID used to validate \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_436272db","line":1413,"range":{"start_line":1413,"start_character":48,"end_line":1413,"end_character":50},"in_reply_to":"5f7c97a3_62d6b156","updated":"2018-06-18 20:14:43.000000000","message":"Since only one is specified at a time, it should be just \"id\" right?","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":1432,"context_line":"        image \u003d utils.find_resource(image_client.images, image_id)"},{"line_number":1433,"context_line":"        kwargs \u003d {}"},{"line_number":1434,"context_line":""},{"line_number":1435,"context_line":"        if parsed_args.trusted_image_certificate_id:"},{"line_number":1436,"context_line":"            kwargs[\u0027trusted_image_certificates\u0027] \u003d \\"},{"line_number":1437,"context_line":"                parsed_args.trusted_image_certificate_id"},{"line_number":1438,"context_line":"        elif utils.env(\u0027OS_TRUSTED_IMAGE_CERTIFICATE_IDS\u0027):"},{"line_number":1439,"context_line":"            kwargs[\u0027trusted_image_certificates\u0027] \u003d utils.env("},{"line_number":1440,"context_line":"                \u0027OS_TRUSTED_IMAGE_CERTIFICATE_IDS\u0027).split(\u0027,\u0027)"},{"line_number":1441,"context_line":""},{"line_number":1442,"context_line":"        server \u003d server.rebuild(image, parsed_args.password, **kwargs)"},{"line_number":1443,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_82c8ada8","line":1440,"range":{"start_line":1435,"start_character":8,"end_line":1440,"end_character":62},"updated":"2018-06-15 15:08:59.000000000","message":"You\u0027ll need to follow the logic from the novaclient change for set/unset:\n\nhttps://review.openstack.org/#/c/500396/","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":1432,"context_line":"        image \u003d utils.find_resource(image_client.images, image_id)"},{"line_number":1433,"context_line":"        kwargs \u003d {}"},{"line_number":1434,"context_line":""},{"line_number":1435,"context_line":"        if parsed_args.trusted_image_certificate_id:"},{"line_number":1436,"context_line":"            kwargs[\u0027trusted_image_certificates\u0027] \u003d \\"},{"line_number":1437,"context_line":"                parsed_args.trusted_image_certificate_id"},{"line_number":1438,"context_line":"        elif utils.env(\u0027OS_TRUSTED_IMAGE_CERTIFICATE_IDS\u0027):"},{"line_number":1439,"context_line":"            kwargs[\u0027trusted_image_certificates\u0027] \u003d utils.env("},{"line_number":1440,"context_line":"                \u0027OS_TRUSTED_IMAGE_CERTIFICATE_IDS\u0027).split(\u0027,\u0027)"},{"line_number":1441,"context_line":""},{"line_number":1442,"context_line":"        server \u003d server.rebuild(image, parsed_args.password, **kwargs)"},{"line_number":1443,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_83ddea42","line":1440,"range":{"start_line":1435,"start_character":8,"end_line":1440,"end_character":62},"in_reply_to":"5f7c97a3_82c8ada8","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7247a28fae8f69dad19306142a092cac434777da","unresolved":false,"context_lines":[{"line_number":1547,"context_line":"                   \u0027certificates)\u0027),"},{"line_number":1548,"context_line":"        )"},{"line_number":1549,"context_line":"        parser.add_argument("},{"line_number":1550,"context_line":"            \u0027--trusted-image-certificates-unset\u0027,"},{"line_number":1551,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":1552,"context_line":"            default\u003dFalse,"},{"line_number":1553,"context_line":"            help\u003d_(\u0027Unset trusted_image_certificates in the server. Cannot \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_99fa5f42","line":1550,"range":{"start_line":1550,"start_character":15,"end_line":1550,"end_character":47},"updated":"2018-07-23 21:53:24.000000000","message":"OSC\u0027s convention is to use \u0027no-\u0027 as a prefix to remove things outside of an unset command.  I think --no-trusted-image-certificate is more consistent.  \n\nYou could add \u0027-id\u0027 to that to make it match the new option above, but since there is not an ID argument to the option it seems better without to me.","commit_id":"b9a59022c2b52c5348711913dd39bb6c022703e9"}],"openstackclient/tests/functional/compute/v2/test_server.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"71e3c570f10ef133ee97c31a8bbedd4c6926a014","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def test_server_create_with_trusted_image_certificates(self):"},{"line_number":595,"context_line":"        \"\"\"Test server create with trusted image certificate IDs\"\"\""},{"line_number":596,"context_line":"        server_name \u003d uuid.uuid4().hex"},{"line_number":597,"context_line":"        server \u003d json.loads(self.openstack("},{"line_number":598,"context_line":"            \u0027server create -f json \u0027 +"},{"line_number":599,"context_line":"            \u0027--flavor \u0027 + self.flavor_name + \u0027 \u0027 +"},{"line_number":600,"context_line":"            \u0027--image \u0027 + self.image_name + \u0027 \u0027 +"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_325d3e48","line":597,"updated":"2018-06-18 23:01:38.000000000","message":"You need to specify:\n\n--os-compute-api-version 2.63\n\nRight? See the 2.37 test above.","commit_id":"9b2833ff54efab0fce58a15f8d9f2bddd23be709"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3241500c536aa8c8a02822511b69c327f1d4d047","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def test_server_create_with_trusted_image_certificates(self):"},{"line_number":595,"context_line":"        \"\"\"Test server create with trusted image certificate IDs\"\"\""},{"line_number":596,"context_line":"        server_name \u003d uuid.uuid4().hex"},{"line_number":597,"context_line":"        server \u003d json.loads(self.openstack("},{"line_number":598,"context_line":"            \u0027server create -f json \u0027 +"},{"line_number":599,"context_line":"            \u0027--flavor \u0027 + self.flavor_name + \u0027 \u0027 +"},{"line_number":600,"context_line":"            \u0027--image \u0027 + self.image_name + \u0027 \u0027 +"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_b22e2ea9","line":597,"in_reply_to":"5f7c97a3_325d3e48","updated":"2018-06-18 23:04:42.000000000","message":"Also, for this test and --nic I\u0027d probably just specify \u0027none\u0027 to avoid the network ambiguous error you\u0027re hitting:\n\n\"Multiple possible networks found, use a Network ID to be more specific. (HTTP 409) (Request-ID: req-15c6450d-d5a5-46a7-babc-ab9e4d65da8d)\"","commit_id":"9b2833ff54efab0fce58a15f8d9f2bddd23be709"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"0563307cad12d9731480b2a820eb2615dcead2f8","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def test_server_create_with_trusted_image_certificates(self):"},{"line_number":595,"context_line":"        \"\"\"Test server create with trusted image certificate IDs\"\"\""},{"line_number":596,"context_line":"        server_name \u003d uuid.uuid4().hex"},{"line_number":597,"context_line":"        server \u003d json.loads(self.openstack("},{"line_number":598,"context_line":"            \u0027server create -f json \u0027 +"},{"line_number":599,"context_line":"            \u0027--flavor \u0027 + self.flavor_name + \u0027 \u0027 +"},{"line_number":600,"context_line":"            \u0027--image \u0027 + self.image_name + \u0027 \u0027 +"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_86a8938c","line":597,"in_reply_to":"5f7c97a3_325d3e48","updated":"2018-06-18 23:44:46.000000000","message":"Done","commit_id":"9b2833ff54efab0fce58a15f8d9f2bddd23be709"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"0563307cad12d9731480b2a820eb2615dcead2f8","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def test_server_create_with_trusted_image_certificates(self):"},{"line_number":595,"context_line":"        \"\"\"Test server create with trusted image certificate IDs\"\"\""},{"line_number":596,"context_line":"        server_name \u003d uuid.uuid4().hex"},{"line_number":597,"context_line":"        server \u003d json.loads(self.openstack("},{"line_number":598,"context_line":"            \u0027server create -f json \u0027 +"},{"line_number":599,"context_line":"            \u0027--flavor \u0027 + self.flavor_name + \u0027 \u0027 +"},{"line_number":600,"context_line":"            \u0027--image \u0027 + self.image_name + \u0027 \u0027 +"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_069c8368","line":597,"in_reply_to":"5f7c97a3_b22e2ea9","updated":"2018-06-18 23:44:46.000000000","message":"Done","commit_id":"9b2833ff54efab0fce58a15f8d9f2bddd23be709"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"                          self.cmd.take_action,"},{"line_number":1382,"context_line":"                          parsed_args)"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"    def test_server_create_with_trusted_image_certificate_id(self):"},{"line_number":1385,"context_line":"        arglist \u003d ["},{"line_number":1386,"context_line":"            \u0027--image\u0027, \u0027image1\u0027,"},{"line_number":1387,"context_line":"            \u0027--flavor\u0027, \u0027flavor1\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_02bc9d04","line":1384,"updated":"2018-06-15 15:08:59.000000000","message":"Also need a test that uses the env var.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"                          self.cmd.take_action,"},{"line_number":1382,"context_line":"                          parsed_args)"},{"line_number":1383,"context_line":""},{"line_number":1384,"context_line":"    def test_server_create_with_trusted_image_certificate_id(self):"},{"line_number":1385,"context_line":"        arglist \u003d ["},{"line_number":1386,"context_line":"            \u0027--image\u0027, \u0027image1\u0027,"},{"line_number":1387,"context_line":"            \u0027--flavor\u0027, \u0027flavor1\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a6da741a","line":1384,"in_reply_to":"5f7c97a3_02bc9d04","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":2189,"context_line":"        self.images_mock.get.assert_called_with(self.image.id)"},{"line_number":2190,"context_line":"        self.server.rebuild.assert_called_with(self.image, None)"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"    def test_rebuild_with_current_image_and_trusted_image_certificate_id(self):"},{"line_number":2193,"context_line":"        arglist \u003d ["},{"line_number":2194,"context_line":"            \u0027--trusted-image-certificate-id\u0027, \u0027id1\u0027,"},{"line_number":2195,"context_line":"            \u0027--trusted-image-certificate-id\u0027, \u0027id2\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a242890e","line":2192,"updated":"2018-06-15 15:08:59.000000000","message":"Also need a test for the env var, and one for unset.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":2189,"context_line":"        self.images_mock.get.assert_called_with(self.image.id)"},{"line_number":2190,"context_line":"        self.server.rebuild.assert_called_with(self.image, None)"},{"line_number":2191,"context_line":""},{"line_number":2192,"context_line":"    def test_rebuild_with_current_image_and_trusted_image_certificate_id(self):"},{"line_number":2193,"context_line":"        arglist \u003d ["},{"line_number":2194,"context_line":"            \u0027--trusted-image-certificate-id\u0027, \u0027id1\u0027,"},{"line_number":2195,"context_line":"            \u0027--trusted-image-certificate-id\u0027, \u0027id2\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_06a4884a","line":2192,"in_reply_to":"5f7c97a3_a242890e","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"}],"releasenotes/notes/bp-nova-validate-certificates-710e815cdc7b3692.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8ffde35e09a5c983457ed0a261221b9512e2c33","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``server rebuild`` commands."},{"line_number":6,"context_line":"    [Blueprint :oscbp:`nova-validate-certificates`]"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Add OS_TRUSTED_IMAGE_CERTIFICATE_IDS environment variable."},{"line_number":9,"context_line":"    [Blueprint :oscbp:`nova-validate-certificates`]"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5f7c97a3_82566dce","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":62},"updated":"2018-06-15 15:08:59.000000000","message":"I would just lump this into the same feature bullet above for context that it\u0027s with server create and rebuild.","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"27af1409c83d68797b8872d0f4de03ab71cd9d8b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``server rebuild`` commands."},{"line_number":6,"context_line":"    [Blueprint :oscbp:`nova-validate-certificates`]"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Add OS_TRUSTED_IMAGE_CERTIFICATE_IDS environment variable."},{"line_number":9,"context_line":"    [Blueprint :oscbp:`nova-validate-certificates`]"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5f7c97a3_03c23a54","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":62},"in_reply_to":"5f7c97a3_82566dce","updated":"2018-06-18 20:14:43.000000000","message":"Done","commit_id":"91418203bd093829344beac988502c68ea6fe4f1"}]}
