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
- Fix vmware cloud driver issue when Required field deviceChange not provided (not @optional). Fixes #38370 — committed to nmadhok/salt by nmadhok 7 years ago
- Merge remote-tracking branch 'upstream/develop' into develop * upstream/develop: Correct the junos unit tests which mock getattr Display warning when beacon is not available salt/loader.py: All... — committed to gitebra/salt by jojohans 7 years ago
@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).