)]}'
{"plugins/modules/baremetal_node_action.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"361c3c891ccb49d96f466f4a43eac3d524285f92","unresolved":true,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"def _set_provision_state(cloud, node):"},{"line_number":239,"context_line":"    if _is_true(node[\u0027provision_state\u0027]):"},{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"32e768df_22e1dabc","line":239,"updated":"2021-01-21 11:18:01.000000000","message":"This is True in most cases.","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"04768e59bcc4be9598a755d47c386bdcd3fd28fe","unresolved":true,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"def _set_provision_state(cloud, node):"},{"line_number":239,"context_line":"    if _is_true(node[\u0027provision_state\u0027]):"},{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"633fea95_dd5c6a23","line":239,"in_reply_to":"32e768df_22e1dabc","updated":"2021-01-21 17:00:30.000000000","message":"I think this is always going to be True, and thus think this is the wrong parameter to use to make the decision. I think what needed is a parameter from the module. So this seems like an additional parameter in the argument_spec.","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"361c3c891ccb49d96f466f4a43eac3d524285f92","unresolved":true,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"def _set_provision_state(cloud, node):"},{"line_number":239,"context_line":"    if _is_true(node[\u0027provision_state\u0027]):"},{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"},{"line_number":243,"context_line":"                                                 timeout\u003dNone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"6a1905c4_e06103d1","line":240,"updated":"2021-01-21 11:18:01.000000000","message":"This code does not make sense to me. If target_provision_state is not None, a node is in a transition and will reject any new changes.","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"04768e59bcc4be9598a755d47c386bdcd3fd28fe","unresolved":true,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"def _set_provision_state(cloud, node):"},{"line_number":239,"context_line":"    if _is_true(node[\u0027provision_state\u0027]):"},{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"},{"line_number":243,"context_line":"                                                 timeout\u003dNone)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ae504097_1d2a856a","line":240,"in_reply_to":"6a1905c4_e06103d1","updated":"2021-01-21 17:00:30.000000000","message":"Agreed, so I think what is needed is an additional parameter to pass in via the api, replacing the node[\u0027target_provision_state\u0027] value as that is an internal field value for Ironic, and Ironic automatically controls that value. The key for this module is module input from the user executing it. Hope this is starting to provide clarity.","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"361c3c891ccb49d96f466f4a43eac3d524285f92","unresolved":true,"context_lines":[{"line_number":238,"context_line":"def _set_provision_state(cloud, node):"},{"line_number":239,"context_line":"    if _is_true(node[\u0027provision_state\u0027]):"},{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"},{"line_number":243,"context_line":"                                                 timeout\u003dNone)"},{"line_number":244,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":1,"id":"316c1369_4056209a","line":241,"updated":"2021-01-21 11:18:01.000000000","message":"Please use config_drive from the parameters.\n\nAdditionally, not passing clean_steps makes it useless for manual cleaning.","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"361c3c891ccb49d96f466f4a43eac3d524285f92","unresolved":true,"context_lines":[{"line_number":240,"context_line":"        cloud.baremetal.set_node_provision_state(node[\u0027uuid\u0027], node[\u0027target_provision_state\u0027],"},{"line_number":241,"context_line":"                                                 config_drive\u003dNone, clean_steps\u003dNone,"},{"line_number":242,"context_line":"                                                 rescue_password\u003dNone, wait\u003dFalse,"},{"line_number":243,"context_line":"                                                 timeout\u003dNone)"},{"line_number":244,"context_line":"        return True"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1572f2cf_648f26c5","line":243,"updated":"2021-01-21 11:18:01.000000000","message":"Please use wait and timeout from the parameters","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b73b8f6b69fa8ec55f66ced7ebe8e0c3897ca425","unresolved":true,"context_lines":[{"line_number":337,"context_line":"            changed \u003d True"},{"line_number":338,"context_line":"            node \u003d cloud.get_machine(node_id)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        if _is_true(module.params[\u0027state\u0027]):"},{"line_number":341,"context_line":"            if _is_false(module.params[\u0027deploy\u0027]):"},{"line_number":342,"context_line":"                module.exit_json("},{"line_number":343,"context_line":"                    changed\u003dchanged,"}],"source_content_type":"text/x-python","patch_set":1,"id":"689e9991_dbb86c98","line":340,"updated":"2021-01-19 17:00:49.000000000","message":"I guess this is an interesting question which Dmitry and others might have thoughts on. We presently expose the mechanism through state, but do we need both? This is a good question...","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"361c3c891ccb49d96f466f4a43eac3d524285f92","unresolved":true,"context_lines":[{"line_number":337,"context_line":"            changed \u003d True"},{"line_number":338,"context_line":"            node \u003d cloud.get_machine(node_id)"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"        if _is_true(module.params[\u0027state\u0027]):"},{"line_number":341,"context_line":"            if _is_false(module.params[\u0027deploy\u0027]):"},{"line_number":342,"context_line":"                module.exit_json("},{"line_number":343,"context_line":"                    changed\u003dchanged,"}],"source_content_type":"text/x-python","patch_set":1,"id":"8dcce27b_8c9dd5b9","line":340,"in_reply_to":"689e9991_dbb86c98","updated":"2021-01-21 11:18:01.000000000","message":"Mmm, right. I don\u0027t quite understand the intention of this patch, but a new provision state must be passed via params[\u0027state\u0027].","commit_id":"887478141c3ad59c3709be51d19c7258e6a73bd8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":251,"context_line":"def _set_provision_state(module, cloud, node):"},{"line_number":252,"context_line":"    if _is_true(module.params[\u0027state\u0027]):"},{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"5b91c545_0fb4eaa4","line":254,"updated":"2021-01-26 17:17:01.000000000","message":"Just for reference for my next comment: https://github.com/openstack/openstacksdk/blob/0091bfc9290b3e6a68aefe62a93731d21441901e/openstack/baremetal/v1/_proxy.py#L326\n\nYou can see the keyword argument items on line.","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":252,"context_line":"    if _is_true(module.params[\u0027state\u0027]):"},{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"29eba6be_813245ec","line":255,"updated":"2021-01-26 17:17:01.000000000","message":"This is a positional, and required argument. So this is fine.","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027wait\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"89adcca0_1b565a6f","line":256,"range":{"start_line":256,"start_character":7,"end_line":256,"end_character":42},"updated":"2021-01-26 17:17:01.000000000","message":"config_drive\u003dmodule.params[\u0027config_drive\u0027], would be the keyword argument oriented version of this.","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027wait\u0027],"},{"line_number":260,"context_line":"            module.params[\u0027timeout\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"588bea0c_5fa3c243","line":257,"updated":"2021-01-26 17:17:01.000000000","message":"Add clean_steps\u003d","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027wait\u0027],"},{"line_number":260,"context_line":"            module.params[\u0027timeout\u0027])"},{"line_number":261,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":5,"id":"566763c4_935a293e","line":258,"updated":"2021-01-26 17:17:01.000000000","message":"add rescue_password\u003d","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":256,"context_line":"            module.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027wait\u0027],"},{"line_number":260,"context_line":"            module.params[\u0027timeout\u0027])"},{"line_number":261,"context_line":"        return True"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9124a65d_609a320b","line":259,"updated":"2021-01-26 17:17:01.000000000","message":"Add wait\u003d","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7d9b490bee7565d5faab52bf584211a54ab55388","unresolved":true,"context_lines":[{"line_number":257,"context_line":"            module.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            module.params[\u0027rescue_password\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027wait\u0027],"},{"line_number":260,"context_line":"            module.params[\u0027timeout\u0027])"},{"line_number":261,"context_line":"        return True"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"b9e5d103_6dcf36a7","line":260,"updated":"2021-01-26 17:17:01.000000000","message":"add timeout\u003d","commit_id":"8ed058f071251a3f0397936cfb5f558512fa1817"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"71fd24ef4fa55866b203cb100cbff43d5453f466","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    state:"},{"line_number":20,"context_line":"      description:"},{"line_number":21,"context_line":"        - Indicates desired state of the resource."},{"line_number":22,"context_line":"        - I(state) can be C(\u0027present\u0027), C(\u0027absent\u0027), C(\u0027maintenance\u0027) or C(\u0027off\u0027)."},{"line_number":23,"context_line":"      default: present"},{"line_number":24,"context_line":"      type: str"},{"line_number":25,"context_line":"    deploy:"}],"source_content_type":"text/x-python","patch_set":6,"id":"b395d632_bffa69f6","side":"PARENT","line":22,"updated":"2021-01-28 16:56:43.000000000","message":"Lets add note for all the items added in VALID_STATES noted in my comments below so people can pass explicit API verbs through the module. We should also note that it is possible, and \"present\", \"absent\", \"maintenance\", and \"off\" are higher level concepts for user simplicty.","commit_id":"1cc33cff1374fc83c6d31076a555cc41f2eb1323"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b16429e12aeee8bdb9ffc86454876927d82cfebb","unresolved":true,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"def _set_provision_state(module, cloud, node):"},{"line_number":252,"context_line":"    if _is_true(module.params[\u0027state\u0027]):"},{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"51575c27_bb5408ed","line":252,"updated":"2021-01-28 16:39:38.000000000","message":"I\u0027m a little confused by state field usage. It is reserved for ansible, and I\u0027m not sure re-using the parameter makes sense. Does that make sense?","commit_id":"3ffb809997725b4611cead8462b09dd780326e6f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"71fd24ef4fa55866b203cb100cbff43d5453f466","unresolved":true,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"def _set_provision_state(module, cloud, node):"},{"line_number":252,"context_line":"    if _is_true(module.params[\u0027state\u0027]):"},{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"8ef5f73b_9af9bb97","line":252,"in_reply_to":"51575c27_bb5408ed","updated":"2021-01-28 16:56:43.000000000","message":"Discussed with Tosin.\n\nThe best path forward seems to be to keep this as something like:\n  VALID_STATES \u003d [\u0027provide\u0027, \u0027manage\u0027, \u0027active\u0027, \u0027clean\u0027, \u0027adopt\u0027,\n                  \u0027inspect\u0027, \u0027rebuild\u0027, \u0027rescue\u0027, \u0027unrescue\u0027, \u0027abort\u0027]\n  if (_is_true(module.params[\u0027state\u0027])\n      and module.params[\u0027state\u0027] in VALID_STATES):","commit_id":"3ffb809997725b4611cead8462b09dd780326e6f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"71fd24ef4fa55866b203cb100cbff43d5453f466","unresolved":true,"context_lines":[{"line_number":252,"context_line":"    if _is_true(module.params[\u0027state\u0027]):"},{"line_number":253,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":254,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":255,"context_line":"            module.params[\u0027provision_action\u0027],"},{"line_number":256,"context_line":"            config_drive\u003dmodule.params[\u0027config_drive\u0027],"},{"line_number":257,"context_line":"            clean_steps\u003dmodule.params[\u0027clean_steps\u0027],"},{"line_number":258,"context_line":"            rescue_password\u003dmodule.params[\u0027rescue_password\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"4df66498_48ae4d8c","line":255,"updated":"2021-01-28 16:56:43.000000000","message":"Change module.params[\u0027provision_action\u0027] to module.params[\u0027state\u0027]","commit_id":"3ffb809997725b4611cead8462b09dd780326e6f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"71fd24ef4fa55866b203cb100cbff43d5453f466","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        wait\u003ddict(type\u003d\u0027bool\u0027, required\u003dFalse, default\u003dFalse),"},{"line_number":288,"context_line":"        timeout\u003ddict(required\u003dFalse, type\u003d\u0027int\u0027, default\u003d1800),"},{"line_number":289,"context_line":"        validate\u003ddict(type\u003d\u0027bool\u0027, required\u003dFalse),"},{"line_number":290,"context_line":"        provision_action\u003ddict(required\u003dFalse),"},{"line_number":291,"context_line":"        rescue_password\u003ddict(required\u003dFalse),"},{"line_number":292,"context_line":"        clean_steps\u003ddict(type\u003d\u0027dict\u0027, required\u003dFalse),"},{"line_number":293,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":6,"id":"a712d8e5_b0986995","line":290,"updated":"2021-01-28 16:56:43.000000000","message":"Lets remove provision_action completely, and reuse state.","commit_id":"3ffb809997725b4611cead8462b09dd780326e6f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"71fd24ef4fa55866b203cb100cbff43d5453f466","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        if _set_provision_state(module, cloud, node):"},{"line_number":357,"context_line":"            changed \u003d True"},{"line_number":358,"context_line":"            node \u003d cloud.get_machine(node_id)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        if _is_true(module.params[\u0027state\u0027]):"},{"line_number":361,"context_line":"            if _is_false(module.params[\u0027deploy\u0027]):"}],"source_content_type":"text/x-python","patch_set":6,"id":"256eccb6_25b23861","line":358,"updated":"2021-01-28 16:56:43.000000000","message":"So I think we need to add module.exit_json like on line 369. We have changed the state of the machine, this takes time, and we shouldn\u0027t attempt to perform further actions. This simplifies possible conditions supporting multiple parameters using a single \"state\" field.","commit_id":"3ffb809997725b4611cead8462b09dd780326e6f"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"df74b29625ba0db34bd011b813a0706efd942271","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            )"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if _is_true(module.params[\u0027state\u0027]):"},{"line_number":368,"context_line":"            if _is_false(module.params[\u0027deploy\u0027]):"},{"line_number":369,"context_line":"                module.exit_json("},{"line_number":370,"context_line":"                    changed\u003dchanged,"},{"line_number":371,"context_line":"                    result\u003d\"User request has explicitly disabled \""}],"source_content_type":"text/x-python","patch_set":9,"id":"40ca300a_4f32ddb5","line":368,"updated":"2021-02-09 16:54:47.000000000","message":"To make it work properly you probably need to change the logic here.\nLooking at the \"_is_true\" and \"_is_false\" definition, the different valid states set in \"_set_provision_state\" won\u0027t be taken into consideration to validate the operation and the module will always fail.","commit_id":"72516efd1f99fcbc2cfe41873e561cf6d780d5ab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"033c74c0ac3ef0613b04662ccbdc07857d21e2b3","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            )"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if _is_true(module.params[\u0027state\u0027]):"},{"line_number":368,"context_line":"            if _is_false(module.params[\u0027deploy\u0027]):"},{"line_number":369,"context_line":"                module.exit_json("},{"line_number":370,"context_line":"                    changed\u003dchanged,"},{"line_number":371,"context_line":"                    result\u003d\"User request has explicitly disabled \""}],"source_content_type":"text/x-python","patch_set":9,"id":"70d730f1_2e26a5d4","line":368,"in_reply_to":"40ca300a_4f32ddb5","updated":"2021-02-11 16:28:52.000000000","message":"Good catch, removing +2","commit_id":"72516efd1f99fcbc2cfe41873e561cf6d780d5ab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8902884889dd2e4f8f68ef1c3da11676cfbd37e8","unresolved":true,"context_lines":[{"line_number":251,"context_line":"    VALID_STATES \u003d [\u0027provide\u0027, \u0027manage\u0027, \u0027active\u0027, \u0027clean\u0027, \u0027adopt\u0027,"},{"line_number":252,"context_line":"                    \u0027inspect\u0027, \u0027rebuild\u0027, \u0027rescue\u0027, \u0027unrescue\u0027, \u0027abort\u0027]"},{"line_number":253,"context_line":"    if ("},{"line_number":254,"context_line":"        _is_true(module.params[\u0027state\u0027])"},{"line_number":255,"context_line":"        and module.params[\u0027state\u0027] in VALID_STATES"},{"line_number":256,"context_line":"    ):"},{"line_number":257,"context_line":"        cloud.baremetal.set_node_provision_state("}],"source_content_type":"text/x-python","patch_set":10,"id":"9add3f20_72664bf1","line":254,"range":{"start_line":254,"start_character":8,"end_line":254,"end_character":40},"updated":"2021-02-16 16:12:05.000000000","message":"Maybe \"module.params[\u0027state\u0027] is not None\"?","commit_id":"f5f559bc8241fb94c788c507f127afe5c295c7f0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"857da28c2da3bcdc48161a6afa0e2fd8f7986c14","unresolved":true,"context_lines":[{"line_number":253,"context_line":"    if ("},{"line_number":254,"context_line":"        module.params[\u0027state\u0027] is not None"},{"line_number":255,"context_line":"        and module.params[\u0027state\u0027] in VALID_STATES"},{"line_number":256,"context_line":"    ):"},{"line_number":257,"context_line":"        cloud.baremetal.set_node_provision_state("},{"line_number":258,"context_line":"            node[\u0027uuid\u0027],"},{"line_number":259,"context_line":"            module.params[\u0027state\u0027],"}],"source_content_type":"text/x-python","patch_set":11,"id":"79aebfc9_a697f433","line":256,"updated":"2021-02-18 16:43:20.000000000","message":"Maybe add something like this?\n\nif module.params[\u0027instance_info\u0027]:\n    cloud.update_machine(node[\u0027uuid\u0027,\n                         instance_info\u003dmodule.params[\u0027instance_info\u0027])\n\nBefore the invocation of cloud.baremetal.set_node_provision_state, so instance info is loaded prior to deployment.","commit_id":"9163c8cef8e36e07bea357fc2c65d66cad7c86e3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6d7b1cba2721dc7079a5e181eae73fd7f036ce11","unresolved":true,"context_lines":[{"line_number":388,"context_line":"            # deployment specific. Perhaps consider adding rebuild"},{"line_number":389,"context_line":"            # support, although there is a known desire to remove"},{"line_number":390,"context_line":"            # rebuild support from Ironic at some point in the future."},{"line_number":391,"context_line":"            cloud.update_machine(uuid, instance_info\u003dinstance_info)"},{"line_number":392,"context_line":"            cloud.validate_node(uuid)"},{"line_number":393,"context_line":"            if not wait:"},{"line_number":394,"context_line":"                cloud.activate_node(uuid, module.params[\u0027config_drive\u0027])"}],"source_content_type":"text/x-python","patch_set":11,"id":"02f958f8_653312e2","line":391,"updated":"2021-02-18 16:35:11.000000000","message":"So I think why your test is failing is because we\u0027re not saving the instance info, if we have any, to the node prior to the deployment.","commit_id":"9163c8cef8e36e07bea357fc2c65d66cad7c86e3"}]}
