Roy Golan has posted comments on this change. Change subject: core: import/export from template version ......................................................................
Patch Set 17: (7 comments) http://gerrit.ovirt.org/#/c/22737/17/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java: Line 201: retVal = validateMacAddress(Entities.<VmNic, VmNetworkInterface> upcast(getVmTemplate().getInterfaces())); Line 202: } Line 203: Line 204: // if this is a template version, check base template exist Line 205: if (retVal && !getVmTemplate().getId().equals(getVmTemplate().getBaseTemplateId())) { I think this worth an isVersioned() or maybe isBaseVersion() helper method on template so the logic is encapsulated and we don't need to go figure it Line 206: VmTemplate baseTemplate = getVmTemplateDAO().get(getVmTemplate().getBaseTemplateId()); Line 207: if (baseTemplate == null) { Line 208: retVal = false; Line 209: addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_TEMPLATE_DOES_NOT_EXIST); http://gerrit.ovirt.org/#/c/22737/17/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java File backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java: Line 750: VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION(ErrorType.BAD_PARAMETERS), Line 751: ACTION_TYPE_FAILED_ACTION_IS_SUPPORTED_ONLY_FOR_ISCSI_DOMAINS(ErrorType.BAD_PARAMETERS), Line 752: ACTION_TYPE_FAILED_STORAGE_CONNECTION_ID_EMPTY(ErrorType.BAD_PARAMETERS), Line 753: ACTION_TYPE_FAILED_STORAGE_CONNECTION_ID_NOT_EMPTY(ErrorType.BAD_PARAMETERS), Line 754: ACTION_TYPE_FAILED_BASE_TEMPLATE_DOES_NOT_EXIST(ErrorType.CONFLICT), actually a BAD_PARAM I think Line 755: // Cluster Policy messages Line 756: ACTION_TYPE_FAILED_CLUSTER_POLICY_PARAMETERS_INVALID(ErrorType.BAD_PARAMETERS), Line 757: ACTION_TYPE_FAILED_CLUSTER_POLICY_NAME_INUSE(ErrorType.BAD_PARAMETERS), Line 758: ACTION_TYPE_FAILED_CLUSTER_POLICY_LOCKED(ErrorType.BAD_PARAMETERS), http://gerrit.ovirt.org/#/c/22737/17/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java File backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateReader.java: Line 198: } Line 199: Line 200: // in case template version is missing, we assume its version 1 Line 201: if (_vmTemplate.getTemplateVersionNumber() == null) { Line 202: _vmTemplate.setTemplateVersionNumber(1); magic Line 203: } else { Line 204: node = content.SelectSingleNode("BaseTemplateId"); Line 205: if (node != null) { Line 206: _vmTemplate.setBaseTemplateId(Guid.createGuidFromString(node.innerText)); Line 211: if (_vmTemplate.getBaseTemplateId() == null) { Line 212: _vmTemplate.setBaseTemplateId(_vmTemplate.getId()); Line 213: } Line 214: Line 215: node = content.SelectSingleNode("templateVersionNumber"); this node starts with "t" and TemplateVersionName in "T" - pls sync Line 216: if (node != null) { Line 217: if (!StringUtils.isEmpty(node.innerText)) { Line 218: _vmTemplate.setTemplateVersionNumber(Integer.parseInt(node.innerText)); Line 219: } http://gerrit.ovirt.org/#/c/22737/17/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java File backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfTemplateWriter.java: Line 44: _writer.WriteRaw(String.valueOf(_vmTemplate.isTrustedService())); Line 45: _writer.WriteEndElement(); Line 46: _writer.WriteStartElement("TemplateType"); Line 47: _writer.WriteRaw(_vmTemplate.getTemplateType().name()); Line 48: _writer.WriteEndElement(); all of the other elements are being written even if they portentially hold null values. that way the OVF is complete all the time. we should maintain that behaviour Line 49: if (_vmTemplate.getBaseTemplateId() != null) { Line 50: _writer.WriteStartElement("BaseTemplateId"); Line 51: _writer.WriteRaw(_vmTemplate.getBaseTemplateId().toString()); Line 52: _writer.WriteEndElement(); Line 50: _writer.WriteStartElement("BaseTemplateId"); Line 51: _writer.WriteRaw(_vmTemplate.getBaseTemplateId().toString()); Line 52: _writer.WriteEndElement(); Line 53: } Line 54: _writer.WriteStartElement("templateVersionNumber"); "t" Line 55: _writer.WriteRaw(String.valueOf(_vmTemplate.getTemplateVersionNumber())); Line 56: _writer.WriteEndElement(); Line 57: if (_vmTemplate.getTemplateVersionName() != null) { Line 58: _writer.WriteStartElement("TemplateVersionName"); Line 54: _writer.WriteStartElement("templateVersionNumber"); Line 55: _writer.WriteRaw(String.valueOf(_vmTemplate.getTemplateVersionNumber())); Line 56: _writer.WriteEndElement(); Line 57: if (_vmTemplate.getTemplateVersionName() != null) { Line 58: _writer.WriteStartElement("TemplateVersionName"); "T" Line 59: _writer.WriteRaw(_vmTemplate.getTemplateVersionName()); Line 60: _writer.WriteEndElement(); Line 61: } Line 62: } -- To view, visit http://gerrit.ovirt.org/22737 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I3dd434f5857a707f12508ebb6ab20e46a4f1be3c Gerrit-PatchSet: 17 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Omer Frenkel <[email protected]> Gerrit-Reviewer: Alissa Bonas <[email protected]> Gerrit-Reviewer: Arik Hadas <[email protected]> Gerrit-Reviewer: Omer Frenkel <[email protected]> Gerrit-Reviewer: Roy Golan <[email protected]> Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
