Frank Kobzik has posted comments on this change.
Change subject: restapi: Make adding (virtio-)console to virtual machines
optional
......................................................................
Patch Set 3: No score
(18 inline comments)
....................................................
File
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
Line 1940: <xs:element name="high_availability"
type="HighAvailability" minOccurs="0"/>
Line 1941: <xs:element name="display" type="Display" minOccurs="0"
maxOccurs="1"/>
Line 1942: <xs:element name="stateless" type="xs:boolean"
minOccurs="0"/>
Line 1943: <xs:element name="delete_protected" type="xs:boolean"
minOccurs="0"/>
Line 1944: <xs:element name="console_device_enabled"
type="xs:boolean" minOccurs="0"/>
Done
Line 1945: <xs:element name="timezone" type="xs:string" minOccurs="0"
maxOccurs="1"/>
Line 1946: <xs:element ref="domain" minOccurs="0" maxOccurs="1"/>
Line 1947: <xs:element ref="usb" minOccurs="0" maxOccurs="1"/>
Line 1948: <xs:element name="tunnel_migration" type="xs:boolean"
minOccurs="0" maxOccurs="1"/>
Line 2134: <xs:element name="creation_time" type="xs:dateTime"
minOccurs="0"/>
Line 2135: <xs:element name="origin" type="xs:string" minOccurs="0"/>
Line 2136: <xs:element name="stateless" type="xs:boolean"
minOccurs="0"/>
Line 2137: <xs:element name="delete_protected" type="xs:boolean"
minOccurs="0"/>
Line 2138: <xs:element name="console_device_enabled"
type="xs:boolean" minOccurs="0"/>
Done
Line 2139: <xs:element name="timezone" type="xs:string" minOccurs="0"
maxOccurs="1"/>
Line 2140: <xs:element ref="domain" minOccurs="0" maxOccurs="1"/>
Line 2141: <xs:element name="custom_properties"
type="CustomProperties" minOccurs="0"/>
Line 2142: <xs:element name="payloads" type="Payloads" minOccurs="0"/>
....................................................
File
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
Line 66: vm.domain.name: xs:string
Line 67: vm.description: xs:string
Line 68: vm.stateless: xs:boolean
Line 69: vm.delete_protected: xs:boolean
Line 70: vm.console_device_enabled: xs:boolean
Done
Line 71: vm.cpu.topology.sockets: xs:int
Line 72: vm.placement_policy.affinity: xs:string
Line 73: vm.placement_policy.host.id|name: xs:string
Line 74: vm.origin: xs:string
Line 126: vm.domain.name: xs:string
Line 127: vm.description: xs:string
Line 128: vm.stateless: xs:boolean
Line 129: vm.delete_protected: xs:boolean
Line 130: vm.console_device_enabled: xs:boolean
Done
Line 131: vm.cpu.mode: xs:string
Line 132: vm.cpu.topology.sockets: xs:int
Line 133: vm.placement_policy.affinity: xs:string
Line 134: vm.placement_policy.host.id|name: xs:string
Line 165: vm.domain.name: xs:string
Line 166: vm.description: xs:string
Line 167: vm.stateless: xs:boolean
Line 168: vm.delete_protected: xs:boolean
Line 169: vm.console_device_enabled: xs:boolean
Done
Line 170: vm.cpu.topology.sockets: xs:int
Line 171: vm.placement_policy.affinity: xs:string
Line 172: vm.placement_policy.host.id|name: xs:string
Line 173: vm.origin: xs:string
Line 2389: template.domain.name: xs:string
Line 2390: template.type: xs:string
Line 2391: template.stateless: 'xs:boolean'
Line 2392: template.delete_protected: xs:boolean
Line 2393: template.console_device_enabled: xs:boolean
Done
Line 2394: template.placement_policy.affinity: xs:string
Line 2395: template.description: xs:string
Line 2396: template.custom_properties.custom_property--COLLECTION:
{custom_property.name: 'xs:string', custom_property.value: 'xs:string'}
Line 2397: template.os.type: xs:string
Line 2428: template.domain.name: xs:string
Line 2429: template.type: xs:string
Line 2430: template.stateless: 'xs:boolean'
Line 2431: template.delete_protected: xs:boolean
Line 2432: template.console_device_enabled: xs:boolean
Done
Line 2433: template.placement_policy.affinity: xs:string
Line 2434: template.description: xs:string
Line 2435: template.custom_properties.custom_property--COLLECTION:
{custom_property.name: 'xs:string', custom_property.value: 'xs:string'}
Line 2436: template.os.type: xs:string
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendResource.java
Line 418: return doGetEntity(entityType, query,
getQueryParams(queryParamsClass, id), id.toString());
Line 419: }
Line 420: }
Line 421:
Line 422: protected List<String> getConsoleDevicesForEntity(Guid id) {
but it is also relevant to BackendTemplatesResource and BackendVmPoolsResource.
Line 423: return getEntity(List.class,
Line 424: VdcQueryType.GetConsoleDevices,
Line 425: new IdQueryParameters(id),
Line 426: null, true);
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplateResource.java
Line 115:
Line 116: UpdateVmTemplateParameters params = new
UpdateVmTemplateParameters(updated);
Line 117: if (incoming.isSetConsoleDeviceEnabled()) {
Line 118:
params.setConsoleEnabled(incoming.isConsoleDeviceEnabled());
Line 119: }
Done
Line 120: return params;
Line 121: }
Line 122: }
Line 123:
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendTemplatesResource.java
Line 74: // REVISIT: powershell has a IsVmTemlateWithSameNameExist
safety check
Line 75: AddVmTemplateParameters params = new
AddVmTemplateParameters(staticVm,
Line 76: template.getName(),
Line 77: template.getDescription());
Line 78:
params.setConsoleEnabled(!getConsoleDevicesForEntity(staticVm.getId()).isEmpty());
Done
Line 79: boolean isDomainSet = false;
Line 80: if (template.isSetStorageDomain() &&
template.getStorageDomain().isSetId()) {
Line 81:
params.setDestinationStorageDomainId(asGuid(template.getStorageDomain().getId()));
Line 82: isDomainSet = true;
Line 161: }
Line 162:
Line 163: @Override
Line 164: protected Template doPopulate(Template model, VmTemplate entity) {
Line 165: model.setConsoleDeviceEnabled(!getConsoleDevicesForEntity(new
Guid(model.getId())).isEmpty());
Done
Line 166: return model;
Line 167: }
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResource.java
Line 63:
Line 64: int size = pool.isSetSize() ? pool.getSize() : 1;
Line 65:
Line 66: AddVmPoolWithVmsParameters params = new
AddVmPoolWithVmsParameters(entity, vm, size, -1);
Line 67:
params.setConsoleEnabled(!getConsoleDevicesForEntity(template.getId()).isEmpty());
ad 1, idk if it's ok to add this to mapper, because the set console flag
doesn't depend on vm pool, but on a device that is assigned to a template.
ad 2, do we allow pool update?
Line 68:
Line 69: return performCreate(VdcActionType.AddVmPoolWithVms,
Line 70: params,
Line 71: new
QueryIdResolver<Guid>(VdcQueryType.GetVmPoolById,
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
Line 388: }
Line 389: if (incoming.isSetMemoryPolicy() &&
incoming.getMemoryPolicy().isSetBallooning()) {
Line 390:
params.setBalloonEnabled(incoming.getMemoryPolicy().isBallooning());
Line 391: }
Line 392: if (incoming.isSetConsoleDeviceEnabled()) {
I don't understand. The console device is set in doPopulate (see upper green
part).
Didn't you want to suggest moving this logic to the VmMapper class?
Line 393:
params.setConsoleEnabled(incoming.isConsoleDeviceEnabled());
Line 394: }
Line 395: return params;
Line 396: }
....................................................
File
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
Line 221: params.setDiskInfoDestinationMap(images);
Line 222:
params.setMakeCreatorExplicitOwner(shouldMakeCreatorExplicitOwner());
Line 223: if (vm.isSetConsoleDeviceEnabled()) {
Line 224: params.setConsoleEnabled(vm.isConsoleDeviceEnabled());
Line 225: }
Done
Line 226: return performCreate(VdcActionType.AddVmFromSnapshot,
Line 227: params,
Line 228: new
QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, IdQueryParameters.class));
Line 229: }
Line 235:
params.setBalloonEnabled(vm.getMemoryPolicy().isBallooning());
Line 236: }
Line 237: if (vm.isSetConsoleDeviceEnabled()) {
Line 238: params.setConsoleEnabled(vm.isConsoleDeviceEnabled());
Line 239: }
Done.
Line 240:
params.setMakeCreatorExplicitOwner(shouldMakeCreatorExplicitOwner());
Line 241: return performCreate(VdcActionType.AddVmFromTemplate,
Line 242: params,
Line 243: new
QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, IdQueryParameters.class));
Line 286:
params.setDiskInfoDestinationMap(getDisksToClone(vm.getDisks(), templateId));
Line 287:
params.setMakeCreatorExplicitOwner(shouldMakeCreatorExplicitOwner());
Line 288: if (vm.isSetConsoleDeviceEnabled()) {
Line 289: params.setConsoleEnabled(vm.isConsoleDeviceEnabled());
Line 290: }
Done
Line 291: return performCreate(VdcActionType.AddVm,
Line 292: params,
Line 293: new
QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, IdQueryParameters.class));
Line 294: }
....................................................
Commit Message
Line 6:
Line 7: restapi: Make adding (virtio-)console to virtual machines optional
Line 8:
Line 9: This is rest part of a feature that allows users to control attaching
Line 10: virtio console to vm/pools/templates.
no, not yet.
Line 11:
Line 12: Change-Id: I733e4c4a9c7d8f5dbe68b6b26a49502b8a40ec9d
Line 13: Bug-Url: https://bugzilla.redhat.com/878459
Line 7: restapi: Make adding (virtio-)console to virtual machines optional
Line 8:
Line 9: This is rest part of a feature that allows users to control attaching
Line 10: virtio console to vm/pools/templates.
Line 11:
1. done
Line 12: Change-Id: I733e4c4a9c7d8f5dbe68b6b26a49502b8a40ec9d
Line 13: Bug-Url: https://bugzilla.redhat.com/878459
--
To view, visit http://gerrit.ovirt.org/16454
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I733e4c4a9c7d8f5dbe68b6b26a49502b8a40ec9d
Gerrit-PatchSet: 3
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <[email protected]>
Gerrit-Reviewer: Frank Kobzik <[email protected]>
Gerrit-Reviewer: Michael Pasternak <[email protected]>
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches