diff --git a/src/vm/node_modules/VM.js b/src/vm/node_modules/VM.js index 55934509a..39e2f2d60 100644 --- a/src/vm/node_modules/VM.js +++ b/src/vm/node_modules/VM.js @@ -2860,9 +2860,19 @@ function updateMetadata(vmobj, payload, callback) var imdata = {}; var cmdata = {}; var tags = {}; - var zonepath = vmobj.zonepath = '/' - + vmobj.zpool + '/' - + vmobj.zonename; + var zonepath; + + if (vmobj.hasOwnProperty('zonepath')) { + zonepath = vmobj.zonepath; + } else if (vmobj.hasOwnProperty('zpool') + && vmobj.hasOwnProperty('zonename')) { + + zonepath = '/' + vmobj.zpool + '/' + vmobj.zonename; + } else { + callback(new Error('unable to find zonepath for ' + + JSON.stringify(vmobj))); + return; + } // paths are under zonepath but not zoneroot mdata_filename = zonepath + '/config/metadata.json';