{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/47028","repository_url":"https://api.github.com/repos/ansible/ansible","labels_url":"https://api.github.com/repos/ansible/ansible/issues/47028/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/47028/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/47028/events","html_url":"https://github.com/ansible/ansible/pull/47028","id":369904819,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIyNzE3Mzc1","number":47028,"title":"Add support for creating vm with multiple scsi controllers and disks.","user":{"login":"Tomorrow9","id":41371902,"node_id":"MDQ6VXNlcjQxMzcxOTAy","avatar_url":"https://avatars0.githubusercontent.com/u/41371902?v=4","gravatar_id":"","url":"https://api.github.com/users/Tomorrow9","html_url":"https://github.com/Tomorrow9","followers_url":"https://api.github.com/users/Tomorrow9/followers","following_url":"https://api.github.com/users/Tomorrow9/following{/other_user}","gists_url":"https://api.github.com/users/Tomorrow9/gists{/gist_id}","starred_url":"https://api.github.com/users/Tomorrow9/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tomorrow9/subscriptions","organizations_url":"https://api.github.com/users/Tomorrow9/orgs","repos_url":"https://api.github.com/users/Tomorrow9/repos","events_url":"https://api.github.com/users/Tomorrow9/events{/privacy}","received_events_url":"https://api.github.com/users/Tomorrow9/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-14T13:58:26Z","updated_at":"2018-10-14T17:41:21Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/47028","html_url":"https://github.com/ansible/ansible/pull/47028","diff_url":"https://github.com/ansible/ansible/pull/47028.diff","patch_url":"https://github.com/ansible/ansible/pull/47028.patch"},"body":"##### SUMMARY\r\n<!--- Describe the change below, including rationale and design decisions -->\r\n\r\n<!--- HINT: Include \"Fixes #nnn\" if you are fixing an existing issue -->\r\nFixes #44957\r\n##### ISSUE TYPE\r\n<!--- Pick one below and delete the rest -->\r\n\r\n- Feature Pull Request\r\n\r\n\r\n##### COMPONENT NAME\r\n<!--- Write the short name of the module, plugin, task or feature below -->\r\nvmware_guest\r\n##### ANSIBLE VERSION\r\n<!--- Paste verbatim output from \"ansible --version\" between quotes -->\r\n```paste below\r\nansible 2.8.0.dev0 (fix_pr44957 4831839f08) last updated 2018/10/14 21:40:38 (GMT +800)\r\n  config file = /root/ansible/ansible.cfg\r\n  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']\r\n  ansible python module location = /root/ansible/lib/ansible\r\n  executable location = /root/ansible/bin/ansible\r\n  python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]\r\n```\r\n\r\n##### ADDITIONAL INFORMATION\r\n<!--- Include additional information to help people understand the change here -->\r\n<!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->\r\n(1) when you create a new VM with \"diskcontrollers\" parameter and specify SCSI controllers, disks, VM will be deployed with multiple disk controllers and disks.\r\n(2) when the VM exists, with \"diskcontrollers.status: new\", VM will be reconfigured with new disk controllers and disks. if there is no this \"status\" parameter or it's value is not \"new\", will do nothing now.\r\n<!--- Paste verbatim command output below, e.g. before and after your change -->\r\n```paste below\r\n    diskcontrollers:\r\n    - scsi: lsilogicsas\r\n      disks:\r\n      - size_gb: 1\r\n        type: eagerzeroedthick\r\n      - size_gb: 1\r\n        type: thin\r\n    - scsi: paravirtual\r\n      disks:\r\n      - size_gb: 1\r\n        type: thin\r\n      - size_gb: 1\r\n        type: thin\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/429646164","html_url":"https://github.com/ansible/ansible/pull/47028#issuecomment-429646164","issue_url":"https://api.github.com/repos/ansible/ansible/issues/47028","id":429646164,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTY0NjE2NA==","user":{"login":"ansibot","id":6585283,"node_id":"MDQ6VXNlcjY1ODUyODM=","avatar_url":"https://avatars0.githubusercontent.com/u/6585283?v=4","gravatar_id":"","url":"https://api.github.com/users/ansibot","html_url":"https://github.com/ansibot","followers_url":"https://api.github.com/users/ansibot/followers","following_url":"https://api.github.com/users/ansibot/following{/other_user}","gists_url":"https://api.github.com/users/ansibot/gists{/gist_id}","starred_url":"https://api.github.com/users/ansibot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ansibot/subscriptions","organizations_url":"https://api.github.com/users/ansibot/orgs","repos_url":"https://api.github.com/users/ansibot/repos","events_url":"https://api.github.com/users/ansibot/events{/privacy}","received_events_url":"https://api.github.com/users/ansibot/received_events","type":"User","site_admin":false},"created_at":"2018-10-14T17:41:21Z","updated_at":"2018-10-14T17:41:21Z","author_association":"CONTRIBUTOR","body":"The test `ansible-test sanity --test ansible-doc --python 2.7` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/ansible-doc.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: has a documentation error formatting or is missing documentation.\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-doc-python-2.7.json -->\nThe test `ansible-test sanity --test ansible-doc --python 3.5` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/ansible-doc.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: has a documentation error formatting or is missing documentation.\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-doc-python-3.5.json -->\nThe test `ansible-test sanity --test ansible-doc --python 2.6` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/ansible-doc.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: has a documentation error formatting or is missing documentation.\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-doc-python-2.6.json -->\nThe test `ansible-test sanity --test ansible-doc --python 3.6` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/ansible-doc.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: has a documentation error formatting or is missing documentation.\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-doc-python-3.6.json -->\nThe test `ansible-test sanity --test ansible-doc --python 3.7` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/ansible-doc.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: has a documentation error formatting or is missing documentation.\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-ansible-doc-python-3.7.json -->\nThe test `ansible-test sanity --test docs-build` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/docs-build.html)] failed with the error:\n```\nCommand \"/usr/bin/python test/sanity/code-smell/docs-build.py\" returned exit status 1.\n>>> Standard Error\nCommand 'make singlehtmldocs' failed with status code: 2\n--> Standard Output\ncat _themes/srtd/static/css/theme.css | sed -e 's/^[ \t]*//g; s/[ \t]*$//g; s/\\([:{;,]\\) /\\1/g; s/ {/{/g; s/\\/\\*.*\\*\\///g; /^$/d' | sed -e :a -e '$!N; s/\\n\\(.\\)/\\1/; ta' > _themes/srtd/static/css/theme.min.css\nPYTHONPATH=../../lib ../bin/dump_config.py --template-file=../templates/config.rst.j2 --output-dir=rst/reference_appendices/ -d ../../lib/ansible/config/base.yml\nmkdir -p rst/cli\nPYTHONPATH=../../lib ../bin/generate_man.py --template-file=../templates/cli_rst.j2 --output-dir=rst/cli/ --output-format rst ../../lib/ansible/cli/*.py\nPYTHONPATH=../../lib ../bin/dump_keywords.py --template-dir=../templates --output-dir=rst/reference_appendices/ -d ./keyword_desc.yml\nPYTHONPATH=../../lib ../bin/plugin_formatter.py -t rst --template-dir=../templates --module-dir=../../lib/ansible/modules -o rst/modules/ \nMakefile:95: recipe for target 'modules' failed\n--> Standard Error\nTraceback (most recent call last):\n  File \"../bin/plugin_formatter.py\", line 720, in <module>\n    main()\n  File \"../bin/plugin_formatter.py\", line 678, in main\n    plugin_info, categories = get_plugin_info(options.module_dir, limit_to=options.limit_to, verbose=(options.verbosity > 0))\n  File \"../bin/plugin_formatter.py\", line 269, in get_plugin_info\n    doc, examples, returndocs, metadata = plugin_docs.get_docstring(module_path, fragment_loader, verbose=verbose)\n  File \"/root/ansible/lib/ansible/utils/plugin_docs.py\", line 99, in get_docstring\n    data = read_docstring(filename, verbose=verbose, ignore_errors=ignore_errors)\n  File \"/root/ansible/lib/ansible/parsing/plugin_docs.py\", line 62, in read_docstring\n    data[varkey] = AnsibleLoader(child.value.s, file_name=filename).get_single_data()\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/constructor.py\", line 35, in get_single_data\n    node = self.get_single_node()\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 36, in get_single_node\n    document = self.compose_document()\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 55, in compose_document\n    node = self.compose_node(None, None)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 84, in compose_node\n    node = self.compose_mapping_node(anchor)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 133, in compose_mapping_node\n    item_value = self.compose_node(node, item_key)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 84, in compose_node\n    node = self.compose_mapping_node(anchor)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 133, in compose_mapping_node\n    item_value = self.compose_node(node, item_key)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 84, in compose_node\n    node = self.compose_mapping_node(anchor)\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/composer.py\", line 127, in compose_mapping_node\n    while not self.check_event(MappingEndEvent):\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/parser.py\", line 98, in check_event\n    self.current_event = self.state()\n  File \"/usr/local/lib/python3.6/dist-packages/yaml/parser.py\", line 439, in parse_block_mapping_key\n    \"expected <block end>, but found %r\" % token.id, token.start_mark)\nyaml.parser.ParserError: while parsing a block mapping\n  in \"<unicode string>\", line 326, column 5:\n        description:\n        ^\nexpected <block end>, but found '<scalar>'\n  in \"<unicode string>\", line 330, column 54:\n     ... ring): SCSI controller type, it's value is the same as \"hardware ... \n                                         ^\nmake: *** [modules] Error 1\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00f1 -->\n<!-- job_id: /testresults/ansible-test-sanity-docs-build.json -->\nThe test `ansible-test sanity --test pep8` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/pep8.html)] failed with 3 errors:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:344:115: W291 trailing whitespace\nlib/ansible/modules/cloud/vmware/vmware_guest.py:673:9: E265 block comment should start with '# '\nlib/ansible/modules/cloud/vmware/vmware_guest.py:1813:41: E126 continuation line over-indented for hanging indent\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00ef -->\n<!-- job_id: /testresults/ansible-test-sanity-pep8.json -->\nThe test `ansible-test sanity --test validate-modules` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/validate-modules.html)] failed with 14 errors:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E324 Value for \"default\" from the argument_spec ('first') for \"name_match\" does not match the documentation (None)\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E324 Value for \"default\" from the argument_spec ('ha-datacenter') for \"datacenter\" does not match the documentation (None)\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E324 Value for \"default\" from the argument_spec ('present') for \"state\" does not match the documentation (None)\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E324 Value for \"default\" from the argument_spec (443) for \"port\" does not match the documentation (None)\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E324 Value for \"default\" from the argument_spec (True) for \"validate_certs\" does not match the documentation (False)\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E325 argument_spec for \"force\" defines type=\"bool\" but documentation does not\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E325 argument_spec for \"is_template\" defines type=\"bool\" but documentation does not\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E325 argument_spec for \"linked_clone\" defines type=\"bool\" but documentation does not\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E325 argument_spec for \"validate_certs\" defines type=\"bool\" but documentation does not\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E325 argument_spec for \"wait_for_ip_address\" defines type=\"bool\" but documentation does not\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E326 Value for \"choices\" from the argument_spec (['absent', 'poweredoff', 'poweredon', 'present', 'rebootguest', 'restarted', 'shutdownguest', 'suspended']) for \"state\" does not match the documentation ([])\nlib/ansible/modules/cloud/vmware/vmware_guest.py:0:0: E326 Value for \"choices\" from the argument_spec (['first', 'last']) for \"name_match\" does not match the documentation ([])\nlib/ansible/modules/cloud/vmware/vmware_guest.py:343:54: E302 DOCUMENTATION is not valid YAML\ntest/sanity/validate-modules/ignore.txt:482:1: A102 Remove since \"lib/ansible/modules/cloud/vmware/vmware_guest.py\" passes \"E322\" test\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00ef -->\n<!-- job_id: /testresults/ansible-test-sanity-validate-modules.json -->\nThe test `ansible-test sanity --test yamllint` [[explain](https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/yamllint.html)] failed with 1 error:\n```\nlib/ansible/modules/cloud/vmware/vmware_guest.py:343:54: error DOCUMENTATION: syntax error: expected <block end>, but found '<scalar>'\n```\n<!-- job_id: 5bc34b85affb170700c6b390 -->\n<!-- job_id: 5bc34b8c572b2109003d00ef -->\n<!-- job_id: /testresults/ansible-test-sanity-yamllint.json -->\n\n[click here for bot help](https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md)\n<!--- boilerplate: shippable_test_result --->"}}
{"actor":{"display_login":"ansibot"}}