)]}'
{"ansible/baremetal-compute-serial-console.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"          msg: \u003e"},{"line_number":32,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined. This variable is required"},{"line_number":33,"context_line":"            to run this playbook."},{"line_number":34,"context_line":"        when: ironic_serial_console_tcp_pool_start is not defined"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":37,"context_line":"        fail:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_f0a4b207","line":34,"updated":"2018-11-01 12:27:52.000000000","message":"The default means this will always be defined.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        fail:"},{"line_number":38,"context_line":"          msg: \u003e"},{"line_number":39,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined. This variable is required"},{"line_number":40,"context_line":"            to run this playbook."},{"line_number":41,"context_line":"        when:"},{"line_number":42,"context_line":"          - ironic_serial_console_tcp_pool_end is not defined"},{"line_number":43,"context_line":"      when: cmd \u003d\u003d \"enable\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_d0a7360a","line":40,"updated":"2018-11-01 12:27:52.000000000","message":"The default means this will always be defined.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"          console_allocation_pool_start: \"{{ ironic_serial_console_tcp_pool_start }}\""},{"line_number":70,"context_line":"          console_allocation_pool_end: \"{{ ironic_serial_console_tcp_pool_end }}\""},{"line_number":71,"context_line":"          console_allocation_ironic_node: \"{{ node[\u0027Name\u0027] }}\""},{"line_number":72,"context_line":"          console_allocation_filename: \"{{ kayobe_config_path }}/console-allocation.yml\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"      - name: Set IPMI serial console terminal port"},{"line_number":75,"context_line":"        vars:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_cd06c323","line":72,"updated":"2018-11-01 12:27:52.000000000","message":"I\u0027m a bit concerned that this is going to take a long time when there are many nodes due to the use of serial. It installs packages on each iteration. It can be quite slow for IP allocation, and normally the control plane is quite small (for bare metal at least).\n\nWould it be possible to allocate all console ports up front in one go, then update the nodes?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"          console_allocation_pool_start: \"{{ ironic_serial_console_tcp_pool_start }}\""},{"line_number":70,"context_line":"          console_allocation_pool_end: \"{{ ironic_serial_console_tcp_pool_end }}\""},{"line_number":71,"context_line":"          console_allocation_ironic_node: \"{{ node[\u0027Name\u0027] }}\""},{"line_number":72,"context_line":"          console_allocation_filename: \"{{ kayobe_config_path }}/console-allocation.yml\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"      - name: Set IPMI serial console terminal port"},{"line_number":75,"context_line":"        vars:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_90669ebc","line":72,"range":{"start_line":72,"start_character":40,"end_line":72,"end_character":87},"updated":"2018-11-01 12:27:52.000000000","message":"Just noting that putting the allocation file here will result in it being slurped up by Ansible as an extra-vars file. Probably not an issue.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        delegate_to: \"{{ controller_host }}\""},{"line_number":83,"context_line":"        environment: \"{{ openstack_auth_env }}\""},{"line_number":84,"context_line":"        when: \u003e-"},{"line_number":85,"context_line":"          (node[\u0027Driver Info\u0027]|default({})).ipmi_terminal_port is not defined or"},{"line_number":86,"context_line":"          node[\u0027Driver Info\u0027].ipmi_terminal_port | int !\u003d port | int"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"      - name: Enable the IPMI socat serial console"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_b012ba54","line":85,"range":{"start_line":85,"start_character":30,"end_line":85,"end_character":42},"updated":"2018-11-01 12:27:52.000000000","message":"nit: should always be defined","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":116,"context_line":"          environment: \"{{ openstack_auth_env }}\""},{"line_number":117,"context_line":"          when: node[\u0027Console Enabled\u0027]"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        - name: Remove IPMI serial console terminal port"},{"line_number":120,"context_line":"          vars:"},{"line_number":121,"context_line":"            # NOTE: Without this, the controller\u0027s ansible_host variable will not"},{"line_number":122,"context_line":"            # be respected when using delegate_to."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_b0b5da1b","line":119,"range":{"start_line":119,"start_character":16,"end_line":119,"end_character":56},"updated":"2018-11-01 12:27:52.000000000","message":"Given that the port is still allocated in the file, should we keep it on the node?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            {{ venv }}/bin/openstack baremetal node unset {{ node[\u0027Name\u0027] }} --driver-info ipmi_terminal_port"},{"line_number":126,"context_line":"          delegate_to: \"{{ controller_host }}\""},{"line_number":127,"context_line":"          environment: \"{{ openstack_auth_env }}\""},{"line_number":128,"context_line":"          when: (node[\u0027Driver Info\u0027]|default({})).ipmi_terminal_port is defined"},{"line_number":129,"context_line":"      vars:"},{"line_number":130,"context_line":"        matching_nodes: \u003e-"},{"line_number":131,"context_line":"          {{ (nodes.stdout | from_json) | selectattr(\u0027Name\u0027, \u0027defined\u0027) |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_5046c658","line":128,"range":{"start_line":128,"start_character":36,"end_line":128,"end_character":48},"updated":"2018-11-01 12:27:52.000000000","message":"nit: should always be defined","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":32,"context_line":"         when:"},{"line_number":33,"context_line":"           - ironic_serial_console_tcp_pool_end is none"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"       - name: Get list of nodes to allocate serial consoles for"},{"line_number":36,"context_line":"         set_fact:"},{"line_number":37,"context_line":"           baremetal_nodes: \u003e-"},{"line_number":38,"context_line":"             {{ query(\u0027inventory_hostnames\u0027, console_compute_node_limit |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_dce5fa3e","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"updated":"2018-11-02 13:37:48.000000000","message":"for what?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c01a527525f0e4fd507de0528c481981850bf0c4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"         when:"},{"line_number":33,"context_line":"           - ironic_serial_console_tcp_pool_end is none"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"       - name: Get list of nodes to allocate serial consoles for"},{"line_number":36,"context_line":"         set_fact:"},{"line_number":37,"context_line":"           baremetal_nodes: \u003e-"},{"line_number":38,"context_line":"             {{ query(\u0027inventory_hostnames\u0027, console_compute_node_limit |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_2536f502","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"in_reply_to":"3f79a3b5_0552d96a","updated":"2018-11-07 14:03:58.000000000","message":"I can see the argument for putting them here and in the role, but why are they also needed on L58?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"6b240fe44e36f6050c31fa6ed13c46c44d0645a4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"         when:"},{"line_number":33,"context_line":"           - ironic_serial_console_tcp_pool_end is none"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"       - name: Get list of nodes to allocate serial consoles for"},{"line_number":36,"context_line":"         set_fact:"},{"line_number":37,"context_line":"           baremetal_nodes: \u003e-"},{"line_number":38,"context_line":"             {{ query(\u0027inventory_hostnames\u0027, console_compute_node_limit |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_0552d96a","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"in_reply_to":"3f79a3b5_0ec57535","updated":"2018-11-07 13:55:07.000000000","message":"I was thinking that the role should be self contained. You can give a better error message if you check here as well e.g refer the variable ironic_serial_console_tcp_pool_end and not console_allocation_tcp_pool_end. Which one would you remove? The one in this file? I guess we have a default for ironic_serial_console_tcp_pool...","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d258bb31bac64b98ec2d4e7512304b7343f1deb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"         when:"},{"line_number":33,"context_line":"           - ironic_serial_console_tcp_pool_end is none"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"       - name: Get list of nodes to allocate serial consoles for"},{"line_number":36,"context_line":"         set_fact:"},{"line_number":37,"context_line":"           baremetal_nodes: \u003e-"},{"line_number":38,"context_line":"             {{ query(\u0027inventory_hostnames\u0027, console_compute_node_limit |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_85fd890b","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"in_reply_to":"3f79a3b5_2536f502","updated":"2018-11-07 15:33:56.000000000","message":"dammit, thought I\u0027d removed those - thanks","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8e8f8bab5a8ebe7be2cf4ce44d4c86b5731a22ec","unresolved":false,"context_lines":[{"line_number":32,"context_line":"         when:"},{"line_number":33,"context_line":"           - ironic_serial_console_tcp_pool_end is none"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"       - name: Get list of nodes to allocate serial consoles for"},{"line_number":36,"context_line":"         set_fact:"},{"line_number":37,"context_line":"           baremetal_nodes: \u003e-"},{"line_number":38,"context_line":"             {{ query(\u0027inventory_hostnames\u0027, console_compute_node_limit |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_0ec57535","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"in_reply_to":"3f79a3b5_dce5fa3e","updated":"2018-11-02 14:39:23.000000000","message":"Must have been half asleep reviewing this - it reads fine...","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    venv: \"{{ virtualenv_path }}/openstack-cli\""},{"line_number":56,"context_line":"    controller_host: \"{{ groups[\u0027controllers\u0027][0] }}\""},{"line_number":57,"context_line":"  tasks:"},{"line_number":58,"context_line":"    - block:"},{"line_number":59,"context_line":"      - name: Fail if allocation pool start not defined"},{"line_number":60,"context_line":"        fail:"},{"line_number":61,"context_line":"          msg: \u003e"},{"line_number":62,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined."},{"line_number":63,"context_line":"            This variable is required to run this playbook."},{"line_number":64,"context_line":"        when: ironic_serial_console_tcp_pool_start is none"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":67,"context_line":"        fail:"},{"line_number":68,"context_line":"          msg: \u003e"},{"line_number":69,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined."},{"line_number":70,"context_line":"            This variable is required to run this playbook."},{"line_number":71,"context_line":"        when:"},{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_1cdb727a","line":73,"range":{"start_line":58,"start_character":0,"end_line":73,"end_character":27},"updated":"2018-11-02 13:37:48.000000000","message":"Don\u0027t need to check these again","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dc32b26b8cf71ee185748a27174bba99f256ee37","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    venv: \"{{ virtualenv_path }}/openstack-cli\""},{"line_number":56,"context_line":"    controller_host: \"{{ groups[\u0027controllers\u0027][0] }}\""},{"line_number":57,"context_line":"  tasks:"},{"line_number":58,"context_line":"    - block:"},{"line_number":59,"context_line":"      - name: Fail if allocation pool start not defined"},{"line_number":60,"context_line":"        fail:"},{"line_number":61,"context_line":"          msg: \u003e"},{"line_number":62,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined."},{"line_number":63,"context_line":"            This variable is required to run this playbook."},{"line_number":64,"context_line":"        when: ironic_serial_console_tcp_pool_start is none"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":67,"context_line":"        fail:"},{"line_number":68,"context_line":"          msg: \u003e"},{"line_number":69,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined."},{"line_number":70,"context_line":"            This variable is required to run this playbook."},{"line_number":71,"context_line":"        when:"},{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_72bb51e3","line":73,"range":{"start_line":58,"start_character":0,"end_line":73,"end_character":27},"in_reply_to":"3f79a3b5_0eab2a1f","updated":"2018-11-07 12:51:40.000000000","message":"So now we\u0027re checking them 3 times?! Surely once, or at most twice is enough?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8e8f8bab5a8ebe7be2cf4ce44d4c86b5731a22ec","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    venv: \"{{ virtualenv_path }}/openstack-cli\""},{"line_number":56,"context_line":"    controller_host: \"{{ groups[\u0027controllers\u0027][0] }}\""},{"line_number":57,"context_line":"  tasks:"},{"line_number":58,"context_line":"    - block:"},{"line_number":59,"context_line":"      - name: Fail if allocation pool start not defined"},{"line_number":60,"context_line":"        fail:"},{"line_number":61,"context_line":"          msg: \u003e"},{"line_number":62,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined."},{"line_number":63,"context_line":"            This variable is required to run this playbook."},{"line_number":64,"context_line":"        when: ironic_serial_console_tcp_pool_start is none"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":67,"context_line":"        fail:"},{"line_number":68,"context_line":"          msg: \u003e"},{"line_number":69,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined."},{"line_number":70,"context_line":"            This variable is required to run this playbook."},{"line_number":71,"context_line":"        when:"},{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_6eff4969","line":73,"range":{"start_line":58,"start_character":0,"end_line":73,"end_character":27},"in_reply_to":"3f79a3b5_1cdb727a","updated":"2018-11-02 14:39:23.000000000","message":"Wouldn\u0027t it be better to check these once rather than for every node?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"96f9fd39e8d12654ccd156730d287785111ac59a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    venv: \"{{ virtualenv_path }}/openstack-cli\""},{"line_number":56,"context_line":"    controller_host: \"{{ groups[\u0027controllers\u0027][0] }}\""},{"line_number":57,"context_line":"  tasks:"},{"line_number":58,"context_line":"    - block:"},{"line_number":59,"context_line":"      - name: Fail if allocation pool start not defined"},{"line_number":60,"context_line":"        fail:"},{"line_number":61,"context_line":"          msg: \u003e"},{"line_number":62,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined."},{"line_number":63,"context_line":"            This variable is required to run this playbook."},{"line_number":64,"context_line":"        when: ironic_serial_console_tcp_pool_start is none"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":67,"context_line":"        fail:"},{"line_number":68,"context_line":"          msg: \u003e"},{"line_number":69,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined."},{"line_number":70,"context_line":"            This variable is required to run this playbook."},{"line_number":71,"context_line":"        when:"},{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_c2574cf5","line":73,"range":{"start_line":58,"start_character":0,"end_line":73,"end_character":27},"in_reply_to":"3f79a3b5_6eff4969","updated":"2018-11-02 16:27:19.000000000","message":"Could move them to the first play?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"37bdab11fccebbffdd8e70c161abadc4b25be9f4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    venv: \"{{ virtualenv_path }}/openstack-cli\""},{"line_number":56,"context_line":"    controller_host: \"{{ groups[\u0027controllers\u0027][0] }}\""},{"line_number":57,"context_line":"  tasks:"},{"line_number":58,"context_line":"    - block:"},{"line_number":59,"context_line":"      - name: Fail if allocation pool start not defined"},{"line_number":60,"context_line":"        fail:"},{"line_number":61,"context_line":"          msg: \u003e"},{"line_number":62,"context_line":"            The variable, ironic_serial_console_tcp_pool_start is not defined."},{"line_number":63,"context_line":"            This variable is required to run this playbook."},{"line_number":64,"context_line":"        when: ironic_serial_console_tcp_pool_start is none"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"      - name: Fail if allocation pool end not defined"},{"line_number":67,"context_line":"        fail:"},{"line_number":68,"context_line":"          msg: \u003e"},{"line_number":69,"context_line":"            The variable, ironic_serial_console_tcp_pool_end is not defined."},{"line_number":70,"context_line":"            This variable is required to run this playbook."},{"line_number":71,"context_line":"        when:"},{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_0eab2a1f","line":73,"range":{"start_line":58,"start_character":0,"end_line":73,"end_character":27},"in_reply_to":"3f79a3b5_c2574cf5","updated":"2018-11-02 19:51:18.000000000","message":"We do check them in the console_allocation role. Although, if we moved them to the first play you would get a better error message.","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"},{"line_number":77,"context_line":"        {{ venv }}/bin/openstack baremetal node list -f json --long"},{"line_number":78,"context_line":"      register: nodes"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_3c442e1a","line":75,"range":{"start_line":75,"start_character":12,"end_line":75,"end_character":29},"updated":"2018-11-02 13:37:48.000000000","message":"Could we use the baremetal_nodes variable to avoid a double list?","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"490e3080c29a6bf7086b9ab8168ed2e2733ea3bc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"},{"line_number":77,"context_line":"        {{ venv }}/bin/openstack baremetal node list -f json --long"},{"line_number":78,"context_line":"      register: nodes"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_aeb80112","line":75,"range":{"start_line":75,"start_character":12,"end_line":75,"end_character":29},"in_reply_to":"3f79a3b5_3c442e1a","updated":"2018-11-02 14:27:05.000000000","message":"That would assume that all nodes were enrolled in Ironic.","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"2c6ff9c78fc604f5f66d9b3cc4628c3e17eade1e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"          - ironic_serial_console_tcp_pool_end is none"},{"line_number":73,"context_line":"      when: cmd \u003d\u003d \"enable\""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    - name: Get list of nodes"},{"line_number":76,"context_line":"      command: \u003e"},{"line_number":77,"context_line":"        {{ venv }}/bin/openstack baremetal node list -f json --long"},{"line_number":78,"context_line":"      register: nodes"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_8eb425d5","line":75,"range":{"start_line":75,"start_character":12,"end_line":75,"end_character":29},"in_reply_to":"3f79a3b5_aeb80112","updated":"2018-11-02 14:36:35.000000000","message":"Sorry, misunderstood - I thought that baremetal_nodes came from ironic but it\u0027s from the inventory. Ignore this.","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":100,"context_line":"          # be respected when using delegate_to."},{"line_number":101,"context_line":"          ansible_host: \"{{ hostvars[controller_host].ansible_host | default(controller_host) }}\""},{"line_number":102,"context_line":"        command: \u003e"},{"line_number":103,"context_line":"          {{ venv }}/bin/openstack baremetal node set {{ node[\u0027Name\u0027] }} --driver-info ipmi_terminal_port\u003d{{ port }}"},{"line_number":104,"context_line":"        delegate_to: \"{{ controller_host }}\""},{"line_number":105,"context_line":"        environment: \"{{ openstack_auth_env }}\""},{"line_number":106,"context_line":"        when: \u003e-"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f79a3b5_7c5386df","line":103,"range":{"start_line":103,"start_character":57,"end_line":103,"end_character":69},"updated":"2018-11-02 13:37:48.000000000","message":"name","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8e8f8bab5a8ebe7be2cf4ce44d4c86b5731a22ec","unresolved":false,"context_lines":[{"line_number":27,"context_line":"         include_role:"},{"line_number":28,"context_line":"           name: console-allocation"},{"line_number":29,"context_line":"         vars:"},{"line_number":30,"context_line":"           console_allocation_pool_start: \"{{ ironic_serial_console_tcp_pool_start | default(none) }}\""},{"line_number":31,"context_line":"           console_allocation_pool_end: \"{{ ironic_serial_console_tcp_pool_end | default(none) }}\""},{"line_number":32,"context_line":"           console_allocation_ironic_nodes: \"{{ baremetal_nodes }}\""},{"line_number":33,"context_line":"           console_allocation_filename: \"{{ kayobe_config_path }}/console-allocation.yml\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f79a3b5_eef2799c","line":30,"range":{"start_line":30,"start_character":83,"end_line":30,"end_character":98},"updated":"2018-11-02 14:39:23.000000000","message":"Won\u0027t this always be defined?","commit_id":"0a2ae29feb88798e0307dbd56cc15664c9e04a40"}],"ansible/roles/console-allocation/library/console_allocation.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    type: string"},{"line_number":29,"context_line":"  - option-name: allocation_pool_start"},{"line_number":30,"context_line":"    description: First address of the pool from which to allocate"},{"line_number":31,"context_line":"    required: False"},{"line_number":32,"context_line":"    type: string"},{"line_number":33,"context_line":"  - option-name: allocation_pool_end"},{"line_number":34,"context_line":"    description: Last address of the pool from which to allocate"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_90df7e66","line":31,"updated":"2018-11-01 12:27:52.000000000","message":"Isn\u0027t this required?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  - option-name: allocation_pool_start"},{"line_number":30,"context_line":"    description: First address of the pool from which to allocate"},{"line_number":31,"context_line":"    required: False"},{"line_number":32,"context_line":"    type: string"},{"line_number":33,"context_line":"  - option-name: allocation_pool_end"},{"line_number":34,"context_line":"    description: Last address of the pool from which to allocate"},{"line_number":35,"context_line":"    required: False"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_908a1e63","line":32,"updated":"2018-11-01 12:27:52.000000000","message":"int","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    required: True"},{"line_number":42,"context_line":"    type: string"},{"line_number":43,"context_line":"requirements:"},{"line_number":44,"context_line":"  - netaddr"},{"line_number":45,"context_line":"  - PyYAML"},{"line_number":46,"context_line":"\"\"\""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_0dafdb9d","line":44,"updated":"2018-11-01 12:27:52.000000000","message":"nit: not required","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\"\"\""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"EXAMPLES \u003d \"\"\""},{"line_number":49,"context_line":"- name: Ensure Ironic node has a TCP port assgined for it\u0027s serial console"},{"line_number":50,"context_line":"  console_allocation:"},{"line_number":51,"context_line":"    node: node-1"},{"line_number":52,"context_line":"    allocation_pool_start: 30000"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_cdc80378","line":49,"range":{"start_line":49,"start_character":42,"end_line":49,"end_character":50},"updated":"2018-11-01 12:27:52.000000000","message":"nit: spelling","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    try:"},{"line_number":180,"context_line":"        results \u003d allocate(module)"},{"line_number":181,"context_line":"    except Exception as e:"},{"line_number":182,"context_line":"        module.fail_json(msg\u003d\"Failed to allocate IP address: %s\" % repr(e))"},{"line_number":183,"context_line":"    else:"},{"line_number":184,"context_line":"        module.exit_json(**results)"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ad94a742","line":182,"range":{"start_line":182,"start_character":49,"end_line":182,"end_character":58},"updated":"2018-11-01 12:27:52.000000000","message":"TCP port","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    module \u003d AnsibleModule("},{"line_number":169,"context_line":"        argument_spec\u003ddict("},{"line_number":170,"context_line":"            nodes\u003ddict(required\u003dTrue, type\u003d\u0027list\u0027),"},{"line_number":171,"context_line":"            allocation_pool_start\u003ddict(required\u003dFalse, type\u003d\u0027int\u0027),"},{"line_number":172,"context_line":"            allocation_pool_end\u003ddict(required\u003dFalse, type\u003d\u0027int\u0027),"},{"line_number":173,"context_line":"            allocation_file\u003ddict(required\u003dTrue, type\u003d\u0027str\u0027),"},{"line_number":174,"context_line":"        ),"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_3ce0aef9","line":171,"range":{"start_line":171,"start_character":48,"end_line":171,"end_character":53},"updated":"2018-11-02 13:37:48.000000000","message":"True","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"}],"ansible/roles/console-allocation/tasks/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    module: package"},{"line_number":24,"context_line":"    name: \"{{ item }}\""},{"line_number":25,"context_line":"    state: installed"},{"line_number":26,"context_line":"    use: \"{{ console_allocation_package_manager }}\""},{"line_number":27,"context_line":"  become: True"},{"line_number":28,"context_line":"  with_items: \"{{ console_allocation_package_dependencies }}\""},{"line_number":29,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_4dff1369","line":26,"updated":"2018-11-01 12:27:52.000000000","message":"Isn\u0027t this detected automatically? Or does it require facts?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"10a6a54ce7af26f5b4153bb0435c8f7187e5120c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    module: package"},{"line_number":24,"context_line":"    name: \"{{ item }}\""},{"line_number":25,"context_line":"    state: installed"},{"line_number":26,"context_line":"    use: \"{{ console_allocation_package_manager }}\""},{"line_number":27,"context_line":"  become: True"},{"line_number":28,"context_line":"  with_items: \"{{ console_allocation_package_dependencies }}\""},{"line_number":29,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_79f95880","line":26,"in_reply_to":"3f79a3b5_07db2f4e","updated":"2018-11-02 11:11:06.000000000","message":"I think it\u0027s good to assume they might not be available.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"6762253eba3fb0f4c1612136daedd7ea43b07468","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    module: package"},{"line_number":24,"context_line":"    name: \"{{ item }}\""},{"line_number":25,"context_line":"    state: installed"},{"line_number":26,"context_line":"    use: \"{{ console_allocation_package_manager }}\""},{"line_number":27,"context_line":"  become: True"},{"line_number":28,"context_line":"  with_items: \"{{ console_allocation_package_dependencies }}\""},{"line_number":29,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_07db2f4e","line":26,"in_reply_to":"3f79a3b5_4dff1369","updated":"2018-11-02 11:07:05.000000000","message":"It requires facts:\n\nThe default \u0027auto\u0027 will use existing facts or try to autodetect it\n\nShould we gather facts, or is it not worth the time penalty?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  become: True"},{"line_number":28,"context_line":"  with_items: \"{{ console_allocation_package_dependencies }}\""},{"line_number":29,"context_line":"  run_once: True"},{"line_number":30,"context_line":"  when: false #FIXME: remove after testing"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"- name: Validate that an ironic node name or UUID has been set"},{"line_number":33,"context_line":"  fail:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_8d70cb43","line":30,"updated":"2018-11-01 12:27:52.000000000","message":"FIXME","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    msg: \u003e-"},{"line_number":35,"context_line":"      You must define console_allocation_ironic_node. This should be a name"},{"line_number":36,"context_line":"      or UUID of an Ironic node."},{"line_number":37,"context_line":"  when: console_allocation_ironic_node is not defined"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Validate allocation pool start"},{"line_number":40,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_d090969a","line":37,"updated":"2018-11-01 12:27:52.000000000","message":"There\u0027s a default so it\u0027ll always be defined. Could check for \u0027is none\u0027.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":44,"context_line":"      You must must define an console_allocation_pool_start. This should"},{"line_number":45,"context_line":"      be a valid TCP port."},{"line_number":46,"context_line":"  when: \u003e-"},{"line_number":47,"context_line":"    console_allocation_pool_end is not defined or"},{"line_number":48,"context_line":"    port | int \u003c 0 or port | int \u003e 65535"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"- name: Validate allocation pool end"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_b0ae3ae2","line":47,"updated":"2018-11-01 12:27:52.000000000","message":"There\u0027s a default so it\u0027ll always be defined.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"      You must must define an console_allocation_pool_end. This should"},{"line_number":56,"context_line":"      be a valid TCP port."},{"line_number":57,"context_line":"  when: \u003e-"},{"line_number":58,"context_line":"    console_allocation_pool_end is not defined or"},{"line_number":59,"context_line":"    port | int \u003c 0 or port | int \u003e 65535"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Validate that allocation start is less than allocation end"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_507d666e","line":58,"updated":"2018-11-01 12:27:52.000000000","message":"There\u0027s a default so it\u0027ll always be defined.","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"58ea051893d106d3060323eb833d8689bbe1af11","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      be a valid TCP port."},{"line_number":38,"context_line":"  when: \u003e-"},{"line_number":39,"context_line":"    console_allocation_pool_end is none or"},{"line_number":40,"context_line":"    port | int \u003c 0 or port | int \u003e 65535"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- name: Validate allocation pool end"},{"line_number":43,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_d9ec9a28","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":18},"updated":"2018-11-27 15:31:26.000000000","message":"Are there any reasons to avoid choosing a privileged port?","commit_id":"4867c91481218d756a6dbc299c1e5071fc2ee413"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"67f41d067edcdcb34ce34dc42646212d38a7c495","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      be a valid TCP port."},{"line_number":38,"context_line":"  when: \u003e-"},{"line_number":39,"context_line":"    console_allocation_pool_end is none or"},{"line_number":40,"context_line":"    port | int \u003c 0 or port | int \u003e 65535"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- name: Validate allocation pool end"},{"line_number":43,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_d421bf4f","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":18},"in_reply_to":"3f79a3b5_d9ec9a28","updated":"2018-11-27 16:06:17.000000000","message":"I don\u0027t think so. IPMI is normally port 623.","commit_id":"4867c91481218d756a6dbc299c1e5071fc2ee413"}],"doc/source/administration.rst":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    (kayobe) $ kayobe baremetal compute serial console enable"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"This will reserve a TCP port for use with this serial console interface. The allocations"},{"line_number":234,"context_line":"are stored in ``${KAYOBE_CONFIG_PATH}/console-allocation.yml``. The current implementation"},{"line_number":235,"context_line":"uses a global pool, which is specifed by ``ironic_serial_console_tcp_pool_start`` and"},{"line_number":236,"context_line":"``ironic_serial_console_tcp_pool_end``; these variables can set in ``etc/kayobe/ironic.yml``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_f0403207","line":233,"range":{"start_line":233,"start_character":28,"end_line":233,"end_character":29},"updated":"2018-11-01 12:27:52.000000000","message":"for each node","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"This will reserve a TCP port for use with this serial console interface. The allocations"},{"line_number":234,"context_line":"are stored in ``${KAYOBE_CONFIG_PATH}/console-allocation.yml``. The current implementation"},{"line_number":235,"context_line":"uses a global pool, which is specifed by ``ironic_serial_console_tcp_pool_start`` and"},{"line_number":236,"context_line":"``ironic_serial_console_tcp_pool_end``; these variables can set in ``etc/kayobe/ironic.yml``."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"To disable the serial console you can use::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b04aba21","line":235,"range":{"start_line":235,"start_character":35,"end_line":235,"end_character":36},"updated":"2018-11-01 12:27:52.000000000","message":"ie","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    (kayobe) $ kayobe baremetal compute serial console disable"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"The port allocated for this node is retained and must be manually removed from"},{"line_number":243,"context_line":"``${KAYOBE_CONFIG_PATH}/console-allocation.yml`` if you want it to be reused by another"},{"line_number":244,"context_line":"Ironic node with a different name."},{"line_number":245,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_705e62e9","line":242,"range":{"start_line":242,"start_character":23,"end_line":242,"end_character":27},"updated":"2018-11-01 12:27:52.000000000","message":"each","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"}],"kayobe/cli/commands.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4d2047e151d7d10c2a064bad5804490ce27c87a7","unresolved":false,"context_lines":[{"line_number":1242,"context_line":""},{"line_number":1243,"context_line":"class BaremetalComputeSerialConsoleEnable(KayobeAnsibleMixin, VaultMixin,"},{"line_number":1244,"context_line":"                                          Command):"},{"line_number":1245,"context_line":"    \"\"\"Enable Serial Console for Baremetal Compute Nodes\"\"\""},{"line_number":1246,"context_line":""},{"line_number":1247,"context_line":"    def take_action(self, parsed_args):"},{"line_number":1248,"context_line":"        self.app.LOG.debug(\"Enabling serial console for ironic nodes\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_0d2efbf8","line":1245,"updated":"2018-11-01 12:27:52.000000000","message":"Will we be able to target a specific set of nodes using --limit, or should we add --baremetal-compute-limit?","commit_id":"5f4b2a8b5192869165072eb49880768ca3b82994"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":1255,"context_line":"    def get_parser(self, prog_name):"},{"line_number":1256,"context_line":"        parser \u003d super(BaremetalComputeSerialConsoleBase, self).get_parser("},{"line_number":1257,"context_line":"            prog_name)"},{"line_number":1258,"context_line":"        group \u003d parser.add_argument_group(\"Baremetal Compute Update\")"},{"line_number":1259,"context_line":"        group.add_argument(\"--baremetal-compute-limit\","},{"line_number":1260,"context_line":"                           help\u003d\"Limit the upgrade to the hosts specified in \""},{"line_number":1261,"context_line":"                                \"this limit\""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_add9ea55","line":1258,"range":{"start_line":1258,"start_character":60,"end_line":1258,"end_character":67},"updated":"2018-11-02 13:37:48.000000000","message":"Serial Consoles","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9cc162698e0f0e678b389d105e3b84382b0da973","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"            prog_name)"},{"line_number":1258,"context_line":"        group \u003d parser.add_argument_group(\"Baremetal Compute Update\")"},{"line_number":1259,"context_line":"        group.add_argument(\"--baremetal-compute-limit\","},{"line_number":1260,"context_line":"                           help\u003d\"Limit the upgrade to the hosts specified in \""},{"line_number":1261,"context_line":"                                \"this limit\""},{"line_number":1262,"context_line":"                           )"},{"line_number":1263,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_4de056fa","line":1260,"range":{"start_line":1260,"start_character":43,"end_line":1260,"end_character":50},"updated":"2018-11-02 13:37:48.000000000","message":"change","commit_id":"7942cfd6c25bb663d3a0bc3410f59894a80c4dca"}]}
