salt: Salt-Cloud: There was a query error: Required field "deviceChange" not provided (not @optional)

Description of Issue/Question

It was working at older salt-cloud version using same command (salt-cloud -l debug …)

Setup

(Please provide relevant configs and/or SLS files (Be sure to remove sensitive info).)

Steps to Reproduce Issue

 salt-cloud -l debug -m /etc/salt/cloud.maps.d/vc01.map
<snipped>
[DEBUG   ] Virtual hardware version already set to vmx-08
[DEBUG   ] Setting cpu to: 2
[DEBUG   ] Setting memory to: 2048 MB
[DEBUG   ] Changing type of 'Network adapter 1' from 'e1000' to 'vmxnet3'
[ERROR   ] There was a query error: Required field "deviceChange" not provided (not @optional)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/cloud/cli.py", line 348, in run
    ret = mapper.run_map(dmap)
  File "/usr/lib/python2.7/site-packages/salt/cloud/__init__.py", line 2231, in run_map
    profile, local_master=local_master
  File "/usr/lib/python2.7/site-packages/salt/cloud/__init__.py", line 1288, in create
    output = self.clouds[func](vm_)
  File "/usr/lib/python2.7/site-packages/salt/cloud/clouds/vmware.py", line 2496, in create
    config_spec.deviceChange = specs['device_specs']
  File "/usr/lib/python2.7/site-packages/pyVmomi/VmomiSupport.py", line 537, in __setattr__
    CheckField(self._GetPropertyInfo(name), val)
  File "/usr/lib/python2.7/site-packages/pyVmomi/VmomiSupport.py", line 954, in CheckField
    CheckField(itemInfo, it)
  File "/usr/lib/python2.7/site-packages/pyVmomi/VmomiSupport.py", line 915, in CheckField
    raise TypeError('Required field "%s" not provided (not @optional)' % info.name)
TypeError: Required field "deviceChange" not provided (not @optional)
[root@salt01t cloud.profiles.d]#

Versions Report

Salt Version:
            Salt: 2016.11.1

Dependency Versions:
 Apache Libcloud: 0.20.1
            cffi: 1.6.0
        cherrypy: 3.2.2
        dateutil: 1.5
           gitdb: 0.6.4
       gitpython: 1.0.1
           ioflo: Not Installed
          Jinja2: 2.7.2
         libgit2: 0.21.0
         libnacl: Not Installed
        M2Crypto: 0.21.1
            Mako: Not Installed
    msgpack-pure: Not Installed
  msgpack-python: 0.4.8
    mysql-python: Not Installed
       pycparser: 2.14
        pycrypto: 2.6.1
          pygit2: 0.21.4
          Python: 2.7.5 (default, Nov  6 2016, 00:28:07)
    python-gnupg: Not Installed
          PyYAML: 3.11
           PyZMQ: 15.3.0
            RAET: Not Installed
           smmap: 0.9.0
         timelib: Not Installed
         Tornado: 4.2.1
             ZMQ: 4.1.4

System Versions:
            dist: centos 7.3.1611 Core
         machine: x86_64
         release: 3.10.0-514.2.2.el7.x86_64
          system: Linux
         version: CentOS Linux 7.3.1611 Core

[root@salt01t cloud.profiles.d]# pip list | grep pyvmomi
pyvmomi (6.5)
pyvmomi-community-samples (5.5.0-2014.dev)
[root@salt01t cloud.profiles.d]#


About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 30 (21 by maintainers)

Commits related to this issue

Most upvoted comments

@fishhead108, glad you got the work around. my centos template already have drive layout created before they turned into template. It will be great to move drive layout creation out of vm template stage, once the “devices” issue is resolved.

@asmodeus70 , Thanks for the tip, on my other test(slow) vmware farm I am able to create a VM by -p syntax after deletion of drive devices declaration(only keep network section).