)]}'
{"molecule-requirements.txt":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9f74e11b2f31a31450030c333ac13989e07751cf","unresolved":false,"context_lines":[{"line_number":13,"context_line":"testinfra"},{"line_number":14,"context_line":"netaddr"},{"line_number":15,"context_line":"jinja2\u003e\u003d2.8.0,\u003c3"},{"line_number":16,"context_line":"yaml"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# this is required for the docs build jobs"},{"line_number":19,"context_line":"sphinx\u003e\u003d2.0.0,!\u003d2.1.0 # BSD"}],"source_content_type":"text/plain","patch_set":9,"id":"9f560f44_a5f6a4d7","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":4},"updated":"2020-08-31 23:23:35.000000000","message":"I think you intended PyYAML ?\n\nhttps://github.com/openstack/openstacksdk/blob/master/requirements.txt#L5\n\nAlso, if this is used not only in tests but in module itself then this should be added to requirements.txt instead of molecule-requirements.txt .","commit_id":"6bac4f554167f5b04be55cc57a103a6c1a92bd1b"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"622c8717308928dc7227ed8ebef4d747a844a97f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"testinfra"},{"line_number":14,"context_line":"netaddr"},{"line_number":15,"context_line":"jinja2\u003e\u003d2.8.0,\u003c3"},{"line_number":16,"context_line":"PyYAML\u003e\u003d3.12 # MIT"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# this is required for the docs build jobs"},{"line_number":19,"context_line":"sphinx\u003e\u003d2.0.0,!\u003d2.1.0 # BSD"}],"source_content_type":"text/plain","patch_set":10,"id":"9f560f44_a5922457","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":6},"updated":"2020-08-31 23:31:14.000000000","message":"I only added this because CI\u0027s molecule job failed trying to import yaml [1]. Should I be using ruamel.yaml instead? I see other Ansible modules in this repo which are importing yaml are they not tested by molecule? \n\n\"\"\"\n      File \"/tmp/ansible_tripleo_derive_hci_parameters_payload_54qm4ush/ansible_tripleo_derive_hci_parameters_payload.zip/ansible/modules/tripleo_derive_hci_parameters.py\", line 19, in \u003cmodule\u003e\n    ModuleNotFoundError: No module named \u0027yaml\u0027\n    Error: non zero exit code: 1: OCI runtime error\n  module_stdout: \u0027\u0027\n  msg: |-\n    MODULE FAILURE\n\"\"\"\n\n[1] https://zuul.opendev.org/t/openstack/build/69dc8661e13f425fb271925f0ca5d0fb","commit_id":"6d797776f29acbe5dccdcd8c1ca671dd906e5fb0"}],"tripleo_ansible/ansible_plugins/modules/tripleo_derive_hci_parameters.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7f94c8bfd80de909a022d431c043074114b073d2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    returned: sometimes"},{"line_number":86,"context_line":"\u0027\u0027\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def derive(tripleo_heat_resource_tree,"},{"line_number":89,"context_line":"           introspection_data,"},{"line_number":90,"context_line":"           average_guest_memory_size_in_mb\u003d2048,"},{"line_number":91,"context_line":"           average_guest_cpu_utilization_percentage\u003d50):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_127175df","line":88,"updated":"2020-08-17 20:33:23.000000000","message":"linters: E302 expected 2 blank lines, found 1","commit_id":"5ffc1a7d2d7c1ff776b302b131f456a40dae8f01"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"ddf0a411eb05907b0e0b5b95793640e5b84411bf","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    returned: sometimes"},{"line_number":86,"context_line":"\u0027\u0027\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def derive(tripleo_heat_resource_tree,"},{"line_number":89,"context_line":"           introspection_data,"},{"line_number":90,"context_line":"           average_guest_memory_size_in_mb\u003d2048,"},{"line_number":91,"context_line":"           average_guest_cpu_utilization_percentage\u003d50):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_bd6fb0c3","line":88,"in_reply_to":"9f560f44_127175df","updated":"2020-08-31 14:55:39.000000000","message":"\u003e linters: E302 expected 2 blank lines, found 1","commit_id":"5ffc1a7d2d7c1ff776b302b131f456a40dae8f01"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    average_guest_size \u003d average_guest_size_mb / MB_PER_GB"},{"line_number":112,"context_line":"    average_guest_util \u003d average_guest_util_percent * 0.01"},{"line_number":113,"context_line":"    left_over_mem \u003d mem - (gb_per_osd * osds)"},{"line_number":114,"context_line":"    number_of_guests \u003d int(left_over_mem /"},{"line_number":115,"context_line":"                           (average_guest_size + gb_overhead_per_guest))"},{"line_number":116,"context_line":"    nova_reserved_mem_mb \u003d MB_PER_GB * ("},{"line_number":117,"context_line":"        (gb_per_osd * osds) +"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_6c2363a8","line":114,"updated":"2020-08-21 21:52:42.000000000","message":"linters: W504 line break after binary operator","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    number_of_guests \u003d int(left_over_mem /"},{"line_number":115,"context_line":"                           (average_guest_size + gb_overhead_per_guest))"},{"line_number":116,"context_line":"    nova_reserved_mem_mb \u003d MB_PER_GB * ("},{"line_number":117,"context_line":"        (gb_per_osd * osds) +"},{"line_number":118,"context_line":"        (number_of_guests * gb_overhead_per_guest))"},{"line_number":119,"context_line":"    nonceph_vcpus \u003d vcpus - (vcpus_per_osd * osds)"},{"line_number":120,"context_line":"    guest_vCPUs \u003d nonceph_vcpus / average_guest_util"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_cc3b8fce","line":117,"updated":"2020-08-21 21:52:42.000000000","message":"linters: W504 line break after binary operator","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    return derived"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"def get_osds(parameters):"},{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ac38dbd2","line":159,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E302 expected 2 blank lines, found 1","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"def get_osds(parameters):"},{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def get_cpu_mem(ironic):"},{"line_number":164,"context_line":"    cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_0c32a7f2","line":161,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E231 missing whitespace after \u0027,\u0027","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"def get_osds(parameters):"},{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def get_cpu_mem(ironic):"},{"line_number":164,"context_line":"    cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_2c520b14","line":161,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E231 missing whitespace after \u0027,\u0027","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"def get_osds(parameters):"},{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def get_cpu_mem(ironic):"},{"line_number":164,"context_line":"    cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_4c4dbf70","line":161,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E231 missing whitespace after \u0027,\u0027","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"def get_osds(parameters):"},{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def get_cpu_mem(ironic):"},{"line_number":164,"context_line":"    cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ec2e538a","line":161,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E231 missing whitespace after \u0027,\u0027","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9f0a1c7283b415c44cf38c31d53ff661a1da4abd","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    # need to do this for real"},{"line_number":161,"context_line":"    return [\u0027/dev/sda\u0027,\u0027/dev/sdb\u0027,\u0027/dev/sdc\u0027,\u0027/dev/sdd\u0027,\u0027/dev/sde\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"def get_cpu_mem(ironic):"},{"line_number":164,"context_line":"    cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"},{"line_number":165,"context_line":"    memory_in_mb \u003d ironic[\u0027data\u0027][\u0027memory_mb\u0027]"},{"line_number":166,"context_line":"    memory_in_mb \u003d ironic[\u0027data\u0027][\u0027memory_mb\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_8c535716","line":163,"updated":"2020-08-21 21:52:42.000000000","message":"linters: E302 expected 2 blank lines, found 1","commit_id":"d835673f7a3f8b12e69705f862c163f0651de633"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b77c03a6ca08f4bc6a95e1de7df80a1d08cd1781","unresolved":false,"context_lines":[{"line_number":214,"context_line":"        disks_config \u003d tripleo_environment_parameters[\u0027CephAnsibleDisksConfig\u0027]"},{"line_number":215,"context_line":"        for key in [\u0027devices\u0027, \u0027lvm_volumes\u0027]:"},{"line_number":216,"context_line":"            total \u003d total + len(disks_config[key])"},{"line_number":217,"context_line":"    except:"},{"line_number":218,"context_line":"        pass"},{"line_number":219,"context_line":"    return total"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_78e81de1","line":217,"updated":"2020-08-25 02:02:32.000000000","message":"linters: E722 do not use bare \u0027except\u0027","commit_id":"d82ff5bb79541d5458090325ed36917e3550cf88"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b77c03a6ca08f4bc6a95e1de7df80a1d08cd1781","unresolved":false,"context_lines":[{"line_number":222,"context_line":"def count_memory(ironic):"},{"line_number":223,"context_line":"    try:"},{"line_number":224,"context_line":"        memory \u003d ironic[\u0027data\u0027][\u0027memory_mb\u0027] / float(MB_PER_GB)"},{"line_number":225,"context_line":"    except:"},{"line_number":226,"context_line":"        memory \u003d 0"},{"line_number":227,"context_line":"    return memory"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_58e39905","line":225,"updated":"2020-08-25 02:02:32.000000000","message":"linters: E722 do not use bare \u0027except\u0027","commit_id":"d82ff5bb79541d5458090325ed36917e3550cf88"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b77c03a6ca08f4bc6a95e1de7df80a1d08cd1781","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    # derive_params_formulas.yaml#L680"},{"line_number":237,"context_line":"    try:"},{"line_number":238,"context_line":"        cpus \u003d ironic[\u0027data\u0027][\u0027cpus\u0027]"},{"line_number":239,"context_line":"    except:"},{"line_number":240,"context_line":"        cpus \u003d 0"},{"line_number":241,"context_line":"    return cpus"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b8ee35ea","line":239,"updated":"2020-08-25 02:02:32.000000000","message":"linters: E722 do not use bare \u0027except\u0027","commit_id":"d82ff5bb79541d5458090325ed36917e3550cf88"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    # 3) Value derived by a previous derived parameters playbook run"},{"line_number":271,"context_line":"    #"},{"line_number":272,"context_line":"    # Set an exclusive prioritized possible_location to get the NovaVcpuPinSet"},{"line_number":273,"context_line":"    if tripleo_role_name + \u0027Parameters\u0027 in tripleo_environment_parameters: #1"},{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a814fe4d","line":273,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E261 at least two spaces before inline comment","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    # 3) Value derived by a previous derived parameters playbook run"},{"line_number":271,"context_line":"    #"},{"line_number":272,"context_line":"    # Set an exclusive prioritized possible_location to get the NovaVcpuPinSet"},{"line_number":273,"context_line":"    if tripleo_role_name + \u0027Parameters\u0027 in tripleo_environment_parameters: #1"},{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_080fea36","line":273,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E262 inline comment should start with \u0027# \u0027","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    # Set an exclusive prioritized possible_location to get the NovaVcpuPinSet"},{"line_number":273,"context_line":"    if tripleo_role_name + \u0027Parameters\u0027 in tripleo_environment_parameters: #1"},{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters: #3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_e809d630","line":275,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E261 at least two spaces before inline comment","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    # Set an exclusive prioritized possible_location to get the NovaVcpuPinSet"},{"line_number":273,"context_line":"    if tripleo_role_name + \u0027Parameters\u0027 in tripleo_environment_parameters: #1"},{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters: #3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_48056213","line":275,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E262 inline comment should start with \u0027# \u0027","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters: #3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":279,"context_line":"    else: # default the possible_location to an empty dictionary"},{"line_number":280,"context_line":"        possible_location \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_2800ee01","line":277,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E261 at least two spaces before inline comment","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        possible_location \u003d tripleo_environment_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":275,"context_line":"    elif \u0027NovaVcpuPinSet\u0027 in tripleo_environment_parameters: #2"},{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters: #3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":279,"context_line":"    else: # default the possible_location to an empty dictionary"},{"line_number":280,"context_line":"        possible_location \u003d {}"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_8300fd02","line":277,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E262 inline comment should start with \u0027# \u0027","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters: #3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":279,"context_line":"    else: # default the possible_location to an empty dictionary"},{"line_number":280,"context_line":"        possible_location \u003d {}"},{"line_number":281,"context_line":"    if \u0027NovaVcpuPinSet\u0027 in possible_location:"},{"line_number":282,"context_line":"        converted \u003d convert_range_to_number_list(possible_location[\u0027NovaVcpuPinSet\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_6303290e","line":279,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E261 at least two spaces before inline comment","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fcd4b8472089576f5551fbc294689d5254b1db2f","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters:  # 3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":279,"context_line":"    else: # default the possible_location to an empty dictionary"},{"line_number":280,"context_line":"        possible_location \u003d {}"},{"line_number":281,"context_line":"    if \u0027NovaVcpuPinSet\u0027 in possible_location:"},{"line_number":282,"context_line":"        converted \u003d convert_range_to_number_list(possible_location[\u0027NovaVcpuPinSet\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_7780f0c0","line":279,"updated":"2020-08-27 21:28:43.000000000","message":"linters: E261 at least two spaces before inline comment","commit_id":"394ce515346491ba8cdab941b111bb032c71eecf"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"ddf0a411eb05907b0e0b5b95793640e5b84411bf","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        possible_location \u003d tripleo_environment_parameters"},{"line_number":277,"context_line":"    elif tripleo_role_name + \u0027Parameters\u0027 in derived_parameters:  # 3"},{"line_number":278,"context_line":"        possible_location \u003d derived_parameters[tripleo_role_name + \u0027Parameters\u0027]"},{"line_number":279,"context_line":"    else: # default the possible_location to an empty dictionary"},{"line_number":280,"context_line":"        possible_location \u003d {}"},{"line_number":281,"context_line":"    if \u0027NovaVcpuPinSet\u0027 in possible_location:"},{"line_number":282,"context_line":"        converted \u003d convert_range_to_number_list(possible_location[\u0027NovaVcpuPinSet\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_9f33f213","line":279,"in_reply_to":"9f560f44_7780f0c0","updated":"2020-08-31 14:55:39.000000000","message":"Done","commit_id":"394ce515346491ba8cdab941b111bb032c71eecf"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"d99845a005de7bb1aa10ff3e35d980e1dadb4a77","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Derive paramters for HCI (hypconverged) deployments\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import re"},{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":"from ansible.module_utils.basic import AnsibleModule"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_e557fc25","line":19,"updated":"2020-09-01 00:34:56.000000000","message":"Molecule is failing on this even though I added PyYAML to molecule-requirements.txt\n\n\nfatal: [centos8]: FAILED! \u003d\u003e changed\u003dfalse\n  module_stderr: |-\n    Traceback (most recent call last):\n      File \"/root/.ansible/tmp/ansible-tmp-1598917405.6216798-35320-19758279359349/AnsiballZ_tripleo_derive_hci_parameters.py\", line 102, in \u003cmodule\u003e\n        _ansiballz_main()\n      File \"/root/.ansible/tmp/ansible-tmp-1598917405.6216798-35320-19758279359349/AnsiballZ_tripleo_derive_hci_parameters.py\", line 94, in _ansiballz_main\n        invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n      File \"/root/.ansible/tmp/ansible-tmp-1598917405.6216798-35320-19758279359349/AnsiballZ_tripleo_derive_hci_parameters.py\", line 40, in invoke_module\n        runpy.run_module(mod_name\u003d\u0027ansible.modules.tripleo_derive_hci_parameters\u0027, init_globals\u003dNone, run_name\u003d\u0027__main__\u0027, alter_sys\u003dTrue)\n      File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n        return _run_module_code(code, init_globals, run_name, mod_spec)\n      File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n        mod_name, mod_spec, pkg_name, script_name)\n      File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n        exec(code, run_globals)\n      File \"/tmp/ansible_tripleo_derive_hci_parameters_payload_70ed6rbg/ansible_tripleo_derive_hci_parameters_payload.zip/ansible/modules/tripleo_derive_hci_parameters.py\", line 19, in \u003cmodule\u003e\n    ModuleNotFoundError: No module named \u0027yaml\u0027\n    Error: non zero exit code: 1: OCI runtime error\n  module_stdout: \u0027\u0027\n  msg: |-\n    MODULE FAILURE\n    See stdout/stderr for the exact error\n  rc: 1\nERROR: \n\n\nhttps://417134255a541bdb4972-2f7fc4cc5295aef11715d5c702aba78c.ssl.cf1.rackcdn.com/746595/10/check/tripleo-ansible-centos-8-molecule-tripleo_derived_parameters/4bf32e6/reports.html","commit_id":"6d797776f29acbe5dccdcd8c1ca671dd906e5fb0"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"32ee38688fab130ccf165cb4b02202de475ca6f6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"module: tripleo_derive_hci_parameters"},{"line_number":33,"context_line":"short_description: Tune Nova scheduler parameters to reserve resources for collocated Ceph OSDs"},{"line_number":34,"context_line":"description:"},{"line_number":35,"context_line":"    - \"When collocating Ceph OSDs on Nova Compute hosts (\"hyperconverged\" or \"hci\") the Nova Scheduler does not take into account the CPU/Memory needs of the OSDs. This module returns  recommended NovaReservedHostMemory and NovaCPUAllocationRatio parmaters so that the host reseves memory and CPU for Ceph. The values are based on workload description, deployment configuration, and Ironic data. The workload description is the expected average_guest_cpu_utilization_percentage and average_guest_memory_size_in_mb.\""},{"line_number":36,"context_line":"options:"},{"line_number":37,"context_line":"    tripleo_environment_parameters:"},{"line_number":38,"context_line":"        description: Map from key environment_parameters from output of the tripleo_get_flatten_stack module stack_data. Used to determine number of OSDs in deployment per role"}],"source_content_type":"text/x-python","patch_set":20,"id":"9f560f44_7844f419","line":35,"range":{"start_line":35,"start_character":55,"end_line":35,"end_character":83},"updated":"2020-09-03 18:56:52.000000000","message":"Remove the quotes to make openstack-tox-docs job happy. It complained about:\n\nexpected \u003cblock end\u003e, but found \u0027\u003cscalar\u003e\u0027\n  in \"\u003cunicode string\u003e\", line 6, column 59:\n     ... ph OSDs on Nova Compute hosts (\"hyperconverged\" or \"hci\") the No ... \n                                         ^ (line: 6)","commit_id":"746fa988d59a3c62d717d04740df192210db540c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    type: map"},{"line_number":111,"context_line":"\u0027\u0027\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_e1ccbabc","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":16},"updated":"2020-09-06 08:45:15.000000000","message":"I think it\u0027s better to use 1024 instead of 1000.\nThis is not consistent consistent with average_guest_memory_size_in_mb described the an example .","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    type: map"},{"line_number":111,"context_line":"\u0027\u0027\u0027"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_b503130d","line":113,"range":{"start_line":113,"start_character":12,"end_line":113,"end_character":16},"in_reply_to":"9f560f44_e1ccbabc","updated":"2020-09-07 13:09:42.000000000","message":"Done","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_414ac626","line":116,"range":{"start_line":116,"start_character":11,"end_line":116,"end_character":14},"updated":"2020-09-06 08:45:15.000000000","message":"How about using mem_gb instead to clearly show that this has the value in gb ?","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_e1415a0c","line":116,"range":{"start_line":116,"start_character":16,"end_line":116,"end_character":21},"updated":"2020-09-06 08:45:15.000000000","message":"Should this be pcpus instead, if this stands for the number of cores in hosts ?","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"32aa5451bea54176dd9ae2e809f44dc5bc990d70","unresolved":false,"context_lines":[{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_55e6f717","line":116,"range":{"start_line":116,"start_character":16,"end_line":116,"end_character":21},"in_reply_to":"9f560f44_35c26386","updated":"2020-09-07 13:16:43.000000000","message":"Makes sense. I didn\u0027t think of hyper-threading but this is fair reason, actually.","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_b5515311","line":116,"range":{"start_line":116,"start_character":11,"end_line":116,"end_character":14},"in_reply_to":"9f560f44_414ac626","updated":"2020-09-07 13:09:42.000000000","message":"Done","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":113,"context_line":"MB_PER_GB \u003d 1000"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_35c26386","line":116,"range":{"start_line":116,"start_character":16,"end_line":116,"end_character":21},"in_reply_to":"9f560f44_e1415a0c","updated":"2020-09-07 13:09:42.000000000","message":"I want to keep this as vCPUs to refer to virtual CPUs on the host to be clear that hyper threading is enabled. It used to just be CPUs and people asked about if that included with hyperthreading enabled. I don\u0027t want to change that convention from what current users expect or existing docs.","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":"    Determines the recommended Nova scheduler values based on Ceph needs."},{"line_number":121,"context_line":"    Returns dictionary containing the keys: cpu_allocation_ratio (float),"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_81505ed7","line":118,"range":{"start_line":118,"start_character":25,"end_line":118,"end_character":38},"updated":"2020-09-06 08:45:15.000000000","message":"Ditto. Should this be pcpus_per_osd ?","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":"    Determines the recommended Nova scheduler values based on Ceph needs."},{"line_number":121,"context_line":"    Returns dictionary containing the keys: cpu_allocation_ratio (float),"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_2147d21f","line":118,"range":{"start_line":118,"start_character":11,"end_line":118,"end_character":21},"updated":"2020-09-06 08:45:15.000000000","message":"mem_gb_per_osd ?","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":"    Determines the recommended Nova scheduler values based on Ceph needs."},{"line_number":121,"context_line":"    Returns dictionary containing the keys: cpu_allocation_ratio (float),"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_d575e799","line":118,"range":{"start_line":118,"start_character":11,"end_line":118,"end_character":21},"in_reply_to":"9f560f44_2147d21f","updated":"2020-09-07 13:09:42.000000000","message":"Done","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def derive(mem, vcpus, osds, average_guest_memory_size_in_mb,"},{"line_number":117,"context_line":"           average_guest_cpu_utilization_percentage,"},{"line_number":118,"context_line":"           gb_per_osd\u003d5, vcpus_per_osd\u003d1.0, total_memory_threshold\u003d0.8):"},{"line_number":119,"context_line":"    \"\"\""},{"line_number":120,"context_line":"    Determines the recommended Nova scheduler values based on Ceph needs."},{"line_number":121,"context_line":"    Returns dictionary containing the keys: cpu_allocation_ratio (float),"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_f57e2b68","line":118,"range":{"start_line":118,"start_character":25,"end_line":118,"end_character":38},"in_reply_to":"9f560f44_81505ed7","updated":"2020-09-07 13:09:42.000000000","message":"please see above","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    if mem \u003c 1:"},{"line_number":133,"context_line":"        msg \u003d \"Unable to determine the amount of physical memory \""},{"line_number":134,"context_line":"        msg +\u003d \"(no \u0027memory_mb\u0027 found in introspection_data).\""},{"line_number":135,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":136,"context_line":"        derived[\u0027failed\u0027] \u003d True"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    if vcpus \u003c 1:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_41c5a68d","line":135,"range":{"start_line":135,"start_character":27,"end_line":135,"end_character":49},"updated":"2020-09-06 08:45:15.000000000","message":"(nit) +\u003d","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    if mem \u003c 1:"},{"line_number":133,"context_line":"        msg \u003d \"Unable to determine the amount of physical memory \""},{"line_number":134,"context_line":"        msg +\u003d \"(no \u0027memory_mb\u0027 found in introspection_data).\""},{"line_number":135,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":136,"context_line":"        derived[\u0027failed\u0027] \u003d True"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    if vcpus \u003c 1:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_f5a58b04","line":135,"range":{"start_line":135,"start_character":27,"end_line":135,"end_character":49},"in_reply_to":"9f560f44_41c5a68d","updated":"2020-09-07 13:09:42.000000000","message":"Done","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e91bc886d2ef47fcb27e1f5d8b9387342bfac9d6","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":153,"context_line":"        derived[\u0027failed\u0027] \u003d True"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    if average_guest_cpu_utilization_percentage \u003c 0:"},{"line_number":156,"context_line":"        msg \u003d \"The average_guest_cpu_utilization_percentage must be a positive integer.\""},{"line_number":157,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":158,"context_line":"        derived[\u0027failed\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_c136d6b4","line":155,"range":{"start_line":155,"start_character":7,"end_line":155,"end_character":47},"updated":"2020-09-06 08:45:15.000000000","message":"How about validating that percentage is smaller than 100, too ?","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"62c39de50385154268abef4bd95e7a14bce76ca2","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":153,"context_line":"        derived[\u0027failed\u0027] \u003d True"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    if average_guest_cpu_utilization_percentage \u003c 0:"},{"line_number":156,"context_line":"        msg \u003d \"The average_guest_cpu_utilization_percentage must be a positive integer.\""},{"line_number":157,"context_line":"        derived[\u0027message\u0027] \u003d derived[\u0027message\u0027] + msg + \"\\n\""},{"line_number":158,"context_line":"        derived[\u0027failed\u0027] \u003d True"}],"source_content_type":"text/x-python","patch_set":27,"id":"9f560f44_b5883371","line":155,"range":{"start_line":155,"start_character":7,"end_line":155,"end_character":47},"in_reply_to":"9f560f44_c136d6b4","updated":"2020-09-07 13:09:42.000000000","message":"Someone could specify a value \u003e100% for over subscription","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"cbb5e05cbc9ffbfdec7450b64e80609e0e9bc74e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        description: any previously derived parameters which should be included in the final result"},{"line_number":59,"context_line":"        required: False"},{"line_number":60,"context_line":"        type: map"},{"line_number":61,"context_line":"    new_heat_environment_path:"},{"line_number":62,"context_line":"        description: Path to file new where resultant derived parameters will be written; result will be valid input to TripleO client, e.g. /home/stack/derived_paramaters.yaml"},{"line_number":63,"context_line":"        required: False"},{"line_number":64,"context_line":"        type: str"}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_ae445db9","line":61,"updated":"2020-09-08 05:45:04.000000000","message":"Is this environment path common to all drive params or specific to module? Is it each modules responsibility to update this file?","commit_id":"75afb950a519d071c47e3cef05309db1731f3a6c"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"93605cfbf296c97c6d853d596de4cc510c3ba198","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        description: any previously derived parameters which should be included in the final result"},{"line_number":59,"context_line":"        required: False"},{"line_number":60,"context_line":"        type: map"},{"line_number":61,"context_line":"    new_heat_environment_path:"},{"line_number":62,"context_line":"        description: Path to file new where resultant derived parameters will be written; result will be valid input to TripleO client, e.g. /home/stack/derived_paramaters.yaml"},{"line_number":63,"context_line":"        required: False"},{"line_number":64,"context_line":"        type: str"}],"source_content_type":"text/x-python","patch_set":28,"id":"9f560f44_3136e952","line":61,"in_reply_to":"9f560f44_ae445db9","updated":"2020-09-08 12:16:10.000000000","message":"It is only specific to this module and it is not each module\u0027s responsibility to update this file.\n\nThis variable is not used as part of the standard workflow we are re-implementing in Ansible. It is only used if someone wants to use this module independently without updating the deployment plan as described in:\n\nhttps://review.opendev.org/#/c/750036/7/deploy-guide/source/features/derived_parameters.rst@79","commit_id":"75afb950a519d071c47e3cef05309db1731f3a6c"}],"tripleo_ansible/playbooks/cli-derive-local-hci-parameters.yml":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"6cd1434fcae81ce0b6a4ef6cbee679da98f22354","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Derive HCI parameters before deployment"},{"line_number":3,"context_line":"  hosts: localhost"},{"line_number":4,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"9f560f44_6abfeca9","line":1,"updated":"2020-09-04 16:03:49.000000000","message":"Here\u0027s an example of how this is used \n\n http://paste.openstack.org/show/797483/","commit_id":"7e0d7b10af0606d844dc23962cbd98e3fc2c4d48"},{"author":{"_account_id":22865,"name":"Jaganathan Palanisamy","email":"jpalanis@redhat.com","username":"jaganathancse"},"change_message_id":"ef5261c2a6bc8cddb850d16ec5fc11c45a03de57","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Derive HCI parameters before deployment"},{"line_number":3,"context_line":"  hosts: localhost"},{"line_number":4,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"9f560f44_ec513810","line":1,"updated":"2020-09-08 12:29:56.000000000","message":"if we provide a separate playbook, computing only hci parameters without computing ovs-dpdk and sriov roles parameters may be result incorrect values incase ovs-dpdk and sriov enabled in the environment.\nI am good for adding the warning message regarding this.","commit_id":"75afb950a519d071c47e3cef05309db1731f3a6c"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"922b117f71a1c148f4954a6727333360adad2e72","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Derive HCI parameters before deployment"},{"line_number":3,"context_line":"  hosts: localhost"},{"line_number":4,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"9f560f44_ccd6f4f2","line":1,"in_reply_to":"9f560f44_ec513810","updated":"2020-09-08 12:48:52.000000000","message":"OK, I\u0027ve added a warning. \nhttps://review.opendev.org/#/c/750036/7..10/deploy-guide/source/features/derived_parameters.rst","commit_id":"75afb950a519d071c47e3cef05309db1731f3a6c"}],"tripleo_ansible/roles/test_deps/defaults/main.yml":[{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"90e67cca8244e0112345dec822be5a2241c43985","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"test_deps_extra_packages: [python3-pyyaml]"},{"line_number":19,"context_line":"test_deps_setup_tripleo: false"},{"line_number":20,"context_line":"test_deps_repo_version: \"{{ ansible_distribution | lower }}{{ ansible_distribution_major_version }}-master\""},{"line_number":21,"context_line":"test_deps_mirrors_file_path: /etc/ci/mirror_info.sh"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9f560f44_229c3d5c","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":42},"updated":"2020-09-01 15:03:23.000000000","message":"nit:\n\nI think it would be better to list this out length wise.\n\n  test_deps_extra_packages:\n    - python3-pyyaml","commit_id":"63b28bbbee463b4891d094c03f8c4743b8de4a58"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"32ee38688fab130ccf165cb4b02202de475ca6f6","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"test_deps_extra_packages:"},{"line_number":19,"context_line":"  - python3-pyyaml"},{"line_number":20,"context_line":"test_deps_setup_tripleo: false"},{"line_number":21,"context_line":"test_deps_repo_version: \"{{ ansible_distribution | lower }}{{ ansible_distribution_major_version }}-master\""},{"line_number":22,"context_line":"test_deps_mirrors_file_path: /etc/ci/mirror_info.sh"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"9f560f44_18e85814","line":19,"updated":"2020-09-03 18:56:52.000000000","message":"Need to make this apply only to cent8 and not cent7 as per [1] getting the following error in job: tripleo-ansible-centos-8-molecule-test_deps\n\nfatal: [centos7]: FAILED! \u003d\u003e changed\u003dfalse\n  msg: No package matching \u0027python3-pyyaml\u0027 found available, installed or updated\n  rc: 126\n  results:\n  - No package matching \u0027python3-pyyaml\u0027 found available, installed or updated\n\n\n[1] https://zuul.opendev.org/t/openstack/build/01db8527a9424223bd4d3d958fe5544f/console","commit_id":"746fa988d59a3c62d717d04740df192210db540c"}],"tripleo_ansible/roles/tripleo_derived_parameters/tasks/main.yml":[{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"d33c6eed2c1d7a97a6841d15e8e1e491605da802","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Set resource and role chain fact"},{"line_number":18,"context_line":"  set_fact:"},{"line_number":19,"context_line":"    resource_chains: \"{{ tripleo_heat_resource_tree.resources | get_filtered_resources(\u0027OS::Heat::ResourceChain\u0027) }}\""},{"line_number":20,"context_line":"    role_chain: \"{{ tripleo_heat_resource_tree.resources | get_filtered_resource_chains(tripleo_role_name) }}\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Set service chain fact"},{"line_number":23,"context_line":"  set_fact:"},{"line_number":24,"context_line":"    service_chain: \"{{ resource_chains | get_filtered_service_chain(role_chain.resources) }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- name: Set role service fact"},{"line_number":27,"context_line":"  set_fact:"},{"line_number":28,"context_line":"    role_services: \"{{ service_chain.resources | get_filtered_role_resources(tripleo_heat_resource_tree.resources) }}\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"- name: Set features facts"},{"line_number":31,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"9f560f44_935e34e7","line":28,"range":{"start_line":17,"start_character":0,"end_line":28,"end_character":118},"updated":"2020-09-01 22:37:25.000000000","message":"With the mock data and the ComputeHCI role, these facts have the following values which are not sufficient to determine if a role has both NovaCompute and CephOSD services.\n\n http://paste.openstack.org/show/797356/","commit_id":"309e4fa1551bae05e428ea65a3f06e26cb15bd92"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"0fe29626988da71c0e8c3d4b3ed12079ce6b82a9","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        derived_parameters: \"{{ derived_parameters }}\""},{"line_number":262,"context_line":"      register: derived_parameters_result"},{"line_number":263,"context_line":"      when:"},{"line_number":264,"context_line":"        - tripleo_role_name \u003d\u003d \"ComputeHCI\"  # todo: fix this"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    - name: Show HCI derived paramters results"},{"line_number":267,"context_line":"      debug:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"9f560f44_459176f1","line":264,"range":{"start_line":264,"start_character":0,"end_line":264,"end_character":61},"updated":"2020-09-01 20:43:14.000000000","message":"Line 41 and 239 are supposed to make this unnecessary. The bug is that the hci boolean on line 239 is true even when the role is Controler. The root cause seems to be in the set_fact task on line 41. In a future patch set I\u0027ll need to get that working.","commit_id":"309e4fa1551bae05e428ea65a3f06e26cb15bd92"}],"tripleo_ansible/tests/modules/test_derive_hci_parameters.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b77c03a6ca08f4bc6a95e1de7df80a1d08cd1781","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def test_positive(self):"},{"line_number":23,"context_line":"        der \u003d derive_params.derive(mem\u003d256, vcpus\u003d56, osds\u003d1"},{"line_number":24,"context_line":"                                   average_guest_memory_size_in_mb\u003d2048,"},{"line_number":25,"context_line":"                                   average_guest_cpu_utilization_percentage\u003d50)"},{"line_number":26,"context_line":"        self.assertEqual(der[\u0027failed\u0027], False)"},{"line_number":27,"context_line":"        self.assertEqual(der[\u0027derived_parameters\u0027][\u0027NovaReservedHostMemory\u0027], 54000)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_98e9b1e4","line":24,"updated":"2020-08-25 02:02:32.000000000","message":"linters: E999 SyntaxError: invalid syntax","commit_id":"d82ff5bb79541d5458090325ed36917e3550cf88"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b77c03a6ca08f4bc6a95e1de7df80a1d08cd1781","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.assertEqual(der[\u0027derived_parameters\u0027][\u0027NovaReservedHostMemory\u0027], 54000)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_negative(self):"},{"line_number":31,"context_line":"        der \u003d derive_params.derive(mem\u003d2, vcpus\u003d1, osds\u003d1"},{"line_number":32,"context_line":"                                   average_guest_memory_size_in_mb\u003d0,"},{"line_number":33,"context_line":"                                   average_guest_cpu_utilization_percentage\u003d0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f8bd4dd8","line":30,"updated":"2020-08-25 02:02:32.000000000","message":"linters: E303 too many blank lines (2)","commit_id":"d82ff5bb79541d5458090325ed36917e3550cf88"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d911d6c1e72528e0a7aed9988367752dd457eefe","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.assertEqual(der[\u0027derived_parameters\u0027][\u0027NovaReservedHostMemory\u0027], 54000)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_negative(self):"},{"line_number":35,"context_line":"        \"\"\"Test the derive method with invalid input"},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        der \u003d derive_params.derive(mem\u003d2, vcpus\u003d1, osds\u003d1,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_c306751c","line":34,"updated":"2020-08-26 22:02:50.000000000","message":"linters: E303 too many blank lines (2)","commit_id":"de7f0c6585795b783882e37f29ce31d0a4e0d6f4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82dc18368740528f30ee7dafa866c0500e7407a9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\"Test the get_vcpus_per_osd method and confirm expected result"},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        mock_data \u003d \u0027../../../roles/tripleo_derived_parameters/molecule/mock_baremetal_ComputeHCI\u0027"},{"line_number":48,"context_line":"        def get_env(flavor\u003d\u0027hdd\u0027, osds_per_device\u003d1):"},{"line_number":49,"context_line":"            \"\"\"Returns a dictionary which mocks the content of the"},{"line_number":50,"context_line":"            tripleo_environment_parameters CephAnsibleDisksConfig"},{"line_number":51,"context_line":"            where the deployer requests four OSDs using device"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_52ee71b4","line":48,"updated":"2020-08-31 15:17:27.000000000","message":"linters: E306 expected 1 blank line before a nested definition, found 0","commit_id":"699509cbc6b486646fad0563b89a916b5be7556f"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"622c8717308928dc7227ed8ebef4d747a844a97f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\"Test the get_vcpus_per_osd method and confirm expected result"},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        mock_data \u003d \u0027../../../roles/tripleo_derived_parameters/molecule/mock_baremetal_ComputeHCI\u0027"},{"line_number":48,"context_line":"        def get_env(flavor\u003d\u0027hdd\u0027, osds_per_device\u003d1):"},{"line_number":49,"context_line":"            \"\"\"Returns a dictionary which mocks the content of the"},{"line_number":50,"context_line":"            tripleo_environment_parameters CephAnsibleDisksConfig"},{"line_number":51,"context_line":"            where the deployer requests four OSDs using device"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_a178598f","line":48,"in_reply_to":"9f560f44_52ee71b4","updated":"2020-08-31 23:31:14.000000000","message":"\u003e linters: E306 expected 1 blank line before a nested definition,\n \u003e found 0","commit_id":"699509cbc6b486646fad0563b89a916b5be7556f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"82dc18368740528f30ee7dafa866c0500e7407a9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            return env"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        def get_ironic(flavor\u003d\u0027hdd\u0027):"},{"line_number":88,"context_line":"            \"\"\"Returns a dictionary which mocks ironic introspection"},{"line_number":89,"context_line":"            data. Uses mock introspection data in molecule as the"},{"line_number":90,"context_line":"            source but applies flavor variations to make it look"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_b228adee","line":87,"updated":"2020-08-31 15:17:27.000000000","message":"linters: E303 too many blank lines (2)","commit_id":"699509cbc6b486646fad0563b89a916b5be7556f"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"d99845a005de7bb1aa10ff3e35d980e1dadb4a77","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def test_vcpu_ratio(self):"},{"line_number":45,"context_line":"        \"\"\"Test the get_vcpus_per_osd method and confirm expected result"},{"line_number":46,"context_line":"        \"\"\""},{"line_number":47,"context_line":"        mock_data \u003d \u0027../../../roles/tripleo_derived_parameters/molecule/mock_baremetal_ComputeHCI\u0027"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        def get_env(flavor\u003d\u0027hdd\u0027, osds_per_device\u003d1):"},{"line_number":50,"context_line":"            \"\"\"Returns a dictionary which mocks the content of the"}],"source_content_type":"text/x-python","patch_set":10,"id":"9f560f44_851f206f","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":98},"updated":"2020-09-01 00:34:56.000000000","message":"As per CI [1] this isn\u0027t getting found though the path is correct in my own copy of the git checkout [2]. I will have to assume the test is running perhaps in a different directory structure. Maybe I\u0027ll have to have a copy of the same or similar file in my next commit.\n\n\n[1] https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_514/746595/10/check/openstack-tox-py36/5142157/testr_results.html\n\n[2]\n[fultonj@runcible modules{review/john_fulton/derive_hci}]$ pwd\n/home/fultonj/git/openstack/tripleo-ansible/tripleo_ansible/tests/modules\n[fultonj@runcible modules{review/john_fulton/derive_hci}]$ ls\n__init__.py                      test_derive_hci_parameters.py\ntest_container_config_data.py    test_metalsmith_instances.py\ntest_container_puppet_config.py  test_tripleo_list_overclouds.py\n[fultonj@runcible modules{review/john_fulton/derive_hci}]$ wc -l ../../../roles/tripleo_derived_parameters/molecule/mock_baremetal_ComputeHCI\n574 ../../../roles/tripleo_derived_parameters/molecule/mock_baremetal_ComputeHCI\n[fultonj@runcible modules{review/john_fulton/derive_hci}]$","commit_id":"6d797776f29acbe5dccdcd8c1ca671dd906e5fb0"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"5579215f04b62fc558b503705f59f4ff7bfaa579","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    def test_derive_positive(self):"},{"line_number":27,"context_line":"        \"\"\"Test the derive method with valid input and confirm expected result"},{"line_number":28,"context_line":"        \"\"\""},{"line_number":29,"context_line":"        der \u003d derive_params.derive(mem\u003d256, vcpus\u003d4, osds\u003d1,"},{"line_number":30,"context_line":"                                   average_guest_memory_size_in_mb\u003d2048,"},{"line_number":31,"context_line":"                                   average_guest_cpu_utilization_percentage\u003d20)"},{"line_number":32,"context_line":"        self.assertFalse(der[\u0027failed\u0027])"},{"line_number":33,"context_line":"        self.assertEqual(der[\u0027nova_reserved_mem_mb\u0027], 54000)"},{"line_number":34,"context_line":"        self.assertEqual(der[\u0027cpu_allocation_ratio\u0027], 3.75)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_derive_negative(self):"},{"line_number":37,"context_line":"        \"\"\"Test the derive method with invalid input"}],"source_content_type":"text/x-python","patch_set":20,"id":"9f560f44_d83420e1","line":34,"range":{"start_line":29,"start_character":0,"end_line":34,"end_character":59},"updated":"2020-09-03 18:45:52.000000000","message":"We also test the logic of the derive [1] and get_vcpus_per_osd functions in the unit tests for openstack-tox-py3{6,8} under tripleo_ansible.tests.modules.test_derive_hci_parameters.TestTripleoDeriveHciParameters.\n\n[1] https://review.opendev.org/#/c/746595/20/tripleo_ansible/ansible_plugins/modules/tripleo_derive_hci_parameters.py@116\n\n[2] https://407da028ebce62a17eaf-876e6cf3d0029a37566bbddfa6060dfe.ssl.cf1.rackcdn.com/746595/20/check/openstack-tox-py38/ec246e6/testr_results.html","commit_id":"746fa988d59a3c62d717d04740df192210db540c"}],"tripleo_ansible/tests/modules/test_derive_hci_parameters_mock_data.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"3880ea5bfae49d3617cdd010dbd48fa344956510","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"  data:"},{"line_number":3,"context_line":"    inventory:"},{"line_number":4,"context_line":"      cpu:"},{"line_number":5,"context_line":"        model_name: \"AMD Ryzen 7 1800X Eight-Core Processor\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9f560f44_28e70949","line":2,"updated":"2020-09-01 01:01:33.000000000","message":"linters: [error] wrong indentation: expected 0 but found 2 (indentation)","commit_id":"0c3dede851430875cd708407964ed982ffa0fb2e"}]}
