Skip to content

Commit 488ae32

Browse files
committed
Merge ResizeVm into UpgradeApp
1 parent 5865490 commit 488ae32

5 files changed

Lines changed: 267 additions & 82 deletions

File tree

vmm/rpc/proto/vmm_rpc.proto

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ message UpgradeAppRequest {
133133
repeated PortMapping ports = 7;
134134
// gpus
135135
GpuConfig gpus = 13;
136+
// Optional compute resource updates. Leave unset to keep current configuration.
137+
optional uint32 vcpu = 14;
138+
optional uint32 memory = 15;
139+
optional uint32 disk_size = 16;
140+
optional string image = 17;
136141
}
137142

138143
// Message for Status request

vmm/src/console_beta.html

Lines changed: 160 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2991,16 +2991,15 @@ <h3>Derive VM</h3>
29912991
const vm = updateDialog.value.vm;
29922992
const original = vm.configuration;
29932993
const updated = updateDialog.value;
2994+
const body = {
2995+
id: vm.id,
2996+
};
29942997
const fieldsToCompare = ['vcpu', 'memory', 'disk_size', 'image'];
29952998
if (fieldsToCompare.some((field) => updated[field] !== original[field])) {
2996-
const resizePayload = {
2997-
id: vm.id,
2998-
vcpu: updated.vcpu,
2999-
memory: updated.memory,
3000-
disk_size: updated.disk_size,
3001-
image: updated.image,
3002-
};
3003-
await vmmRpc.resizeVm(resizePayload);
2999+
body.vcpu = updated.vcpu;
3000+
body.memory = updated.memory;
3001+
body.disk_size = updated.disk_size;
3002+
body.image = updated.image;
30043003
}
30053004
const composeWasExplicitlyUpdated = updateDialog.value.updateCompose;
30063005
let composeNeedsUpdate = composeWasExplicitlyUpdated;
@@ -3010,15 +3009,12 @@ <h3>Derive VM</h3>
30103009
encryptedEnvPayload = await encryptEnvWithKey(updateDialog.value.encryptedEnvs, keyResponse.public_key);
30113010
composeNeedsUpdate = true;
30123011
}
3013-
const body = {
3014-
id: vm.id,
3015-
compose_file: composeNeedsUpdate ? await makeUpdateComposeFile() : undefined,
3016-
encrypted_env: encryptedEnvPayload,
3017-
user_config: updated.user_config,
3018-
update_ports: true,
3019-
ports: normalizePorts(updated.ports),
3020-
gpus: updateDialog.value.updateGpuConfig ? configGpu(updated) : undefined,
3021-
};
3012+
body.compose_file = composeNeedsUpdate ? await makeUpdateComposeFile() : undefined;
3013+
body.encrypted_env = encryptedEnvPayload;
3014+
body.user_config = updated.user_config;
3015+
body.update_ports = true;
3016+
body.ports = normalizePorts(updated.ports);
3017+
body.gpus = updateDialog.value.updateGpuConfig ? configGpu(updated) : undefined;
30223018
await vmmRpc.upgradeApp(body);
30233019
updateDialog.value.encryptedEnvs = [];
30243020
updateDialog.value.show = false;
@@ -7669,6 +7665,10 @@ <h3>Derive VM</h3>
76697665
* @property {boolean|null} [update_ports] UpgradeAppRequest update_ports
76707666
* @property {Array.<vmm.IPortMapping>|null} [ports] UpgradeAppRequest ports
76717667
* @property {vmm.IGpuConfig|null} [gpus] UpgradeAppRequest gpus
7668+
* @property {number|null} [vcpu] UpgradeAppRequest vcpu
7669+
* @property {number|null} [memory] UpgradeAppRequest memory
7670+
* @property {number|null} [disk_size] UpgradeAppRequest disk_size
7671+
* @property {string|null} [image] UpgradeAppRequest image
76727672
*/
76737673
/**
76747674
* Constructs a new UpgradeAppRequest.
@@ -7734,6 +7734,76 @@ <h3>Derive VM</h3>
77347734
* @instance
77357735
*/
77367736
UpgradeAppRequest.prototype.gpus = null;
7737+
/**
7738+
* UpgradeAppRequest vcpu.
7739+
* @member {number|null|undefined} vcpu
7740+
* @memberof vmm.UpgradeAppRequest
7741+
* @instance
7742+
*/
7743+
UpgradeAppRequest.prototype.vcpu = null;
7744+
/**
7745+
* UpgradeAppRequest memory.
7746+
* @member {number|null|undefined} memory
7747+
* @memberof vmm.UpgradeAppRequest
7748+
* @instance
7749+
*/
7750+
UpgradeAppRequest.prototype.memory = null;
7751+
/**
7752+
* UpgradeAppRequest disk_size.
7753+
* @member {number|null|undefined} disk_size
7754+
* @memberof vmm.UpgradeAppRequest
7755+
* @instance
7756+
*/
7757+
UpgradeAppRequest.prototype.disk_size = null;
7758+
/**
7759+
* UpgradeAppRequest image.
7760+
* @member {string|null|undefined} image
7761+
* @memberof vmm.UpgradeAppRequest
7762+
* @instance
7763+
*/
7764+
UpgradeAppRequest.prototype.image = null;
7765+
// OneOf field names bound to virtual getters and setters
7766+
var $oneOfFields;
7767+
/**
7768+
* UpgradeAppRequest _vcpu.
7769+
* @member {"vcpu"|undefined} _vcpu
7770+
* @memberof vmm.UpgradeAppRequest
7771+
* @instance
7772+
*/
7773+
Object.defineProperty(UpgradeAppRequest.prototype, "_vcpu", {
7774+
get: $util.oneOfGetter($oneOfFields = ["vcpu"]),
7775+
set: $util.oneOfSetter($oneOfFields)
7776+
});
7777+
/**
7778+
* UpgradeAppRequest _memory.
7779+
* @member {"memory"|undefined} _memory
7780+
* @memberof vmm.UpgradeAppRequest
7781+
* @instance
7782+
*/
7783+
Object.defineProperty(UpgradeAppRequest.prototype, "_memory", {
7784+
get: $util.oneOfGetter($oneOfFields = ["memory"]),
7785+
set: $util.oneOfSetter($oneOfFields)
7786+
});
7787+
/**
7788+
* UpgradeAppRequest _disk_size.
7789+
* @member {"disk_size"|undefined} _disk_size
7790+
* @memberof vmm.UpgradeAppRequest
7791+
* @instance
7792+
*/
7793+
Object.defineProperty(UpgradeAppRequest.prototype, "_disk_size", {
7794+
get: $util.oneOfGetter($oneOfFields = ["disk_size"]),
7795+
set: $util.oneOfSetter($oneOfFields)
7796+
});
7797+
/**
7798+
* UpgradeAppRequest _image.
7799+
* @member {"image"|undefined} _image
7800+
* @memberof vmm.UpgradeAppRequest
7801+
* @instance
7802+
*/
7803+
Object.defineProperty(UpgradeAppRequest.prototype, "_image", {
7804+
get: $util.oneOfGetter($oneOfFields = ["image"]),
7805+
set: $util.oneOfSetter($oneOfFields)
7806+
});
77377807
/**
77387808
* Creates a new UpgradeAppRequest instance using the specified properties.
77397809
* @function create
@@ -7772,6 +7842,14 @@ <h3>Derive VM</h3>
77727842
$root.vmm.PortMapping.encode(message.ports[i], writer.uint32(/* id 7, wireType 2 =*/ 58).fork()).ldelim();
77737843
if (message.gpus != null && Object.hasOwnProperty.call(message, "gpus"))
77747844
$root.vmm.GpuConfig.encode(message.gpus, writer.uint32(/* id 13, wireType 2 =*/ 106).fork()).ldelim();
7845+
if (message.vcpu != null && Object.hasOwnProperty.call(message, "vcpu"))
7846+
writer.uint32(/* id 14, wireType 0 =*/ 112).uint32(message.vcpu);
7847+
if (message.memory != null && Object.hasOwnProperty.call(message, "memory"))
7848+
writer.uint32(/* id 15, wireType 0 =*/ 120).uint32(message.memory);
7849+
if (message.disk_size != null && Object.hasOwnProperty.call(message, "disk_size"))
7850+
writer.uint32(/* id 16, wireType 0 =*/ 128).uint32(message.disk_size);
7851+
if (message.image != null && Object.hasOwnProperty.call(message, "image"))
7852+
writer.uint32(/* id 17, wireType 2 =*/ 138).string(message.image);
77757853
return writer;
77767854
};
77777855
/**
@@ -7836,6 +7914,22 @@ <h3>Derive VM</h3>
78367914
message.gpus = $root.vmm.GpuConfig.decode(reader, reader.uint32());
78377915
break;
78387916
}
7917+
case 14: {
7918+
message.vcpu = reader.uint32();
7919+
break;
7920+
}
7921+
case 15: {
7922+
message.memory = reader.uint32();
7923+
break;
7924+
}
7925+
case 16: {
7926+
message.disk_size = reader.uint32();
7927+
break;
7928+
}
7929+
case 17: {
7930+
message.image = reader.string();
7931+
break;
7932+
}
78397933
default:
78407934
reader.skipType(tag & 7);
78417935
break;
@@ -7869,6 +7963,7 @@ <h3>Derive VM</h3>
78697963
UpgradeAppRequest.verify = function verify(message) {
78707964
if (typeof message !== "object" || message === null)
78717965
return "object expected";
7966+
var properties = {};
78727967
if (message.id != null && message.hasOwnProperty("id"))
78737968
if (!$util.isString(message.id))
78747969
return "id: string expected";
@@ -7898,6 +7993,26 @@ <h3>Derive VM</h3>
78987993
if (error)
78997994
return "gpus." + error;
79007995
}
7996+
if (message.vcpu != null && message.hasOwnProperty("vcpu")) {
7997+
properties._vcpu = 1;
7998+
if (!$util.isInteger(message.vcpu))
7999+
return "vcpu: integer expected";
8000+
}
8001+
if (message.memory != null && message.hasOwnProperty("memory")) {
8002+
properties._memory = 1;
8003+
if (!$util.isInteger(message.memory))
8004+
return "memory: integer expected";
8005+
}
8006+
if (message.disk_size != null && message.hasOwnProperty("disk_size")) {
8007+
properties._disk_size = 1;
8008+
if (!$util.isInteger(message.disk_size))
8009+
return "disk_size: integer expected";
8010+
}
8011+
if (message.image != null && message.hasOwnProperty("image")) {
8012+
properties._image = 1;
8013+
if (!$util.isString(message.image))
8014+
return "image: string expected";
8015+
}
79018016
return null;
79028017
};
79038018
/**
@@ -7940,6 +8055,14 @@ <h3>Derive VM</h3>
79408055
throw TypeError(".vmm.UpgradeAppRequest.gpus: object expected");
79418056
message.gpus = $root.vmm.GpuConfig.fromObject(object.gpus);
79428057
}
8058+
if (object.vcpu != null)
8059+
message.vcpu = object.vcpu >>> 0;
8060+
if (object.memory != null)
8061+
message.memory = object.memory >>> 0;
8062+
if (object.disk_size != null)
8063+
message.disk_size = object.disk_size >>> 0;
8064+
if (object.image != null)
8065+
message.image = String(object.image);
79438066
return message;
79448067
};
79458068
/**
@@ -7988,6 +8111,26 @@ <h3>Derive VM</h3>
79888111
}
79898112
if (message.gpus != null && message.hasOwnProperty("gpus"))
79908113
object.gpus = $root.vmm.GpuConfig.toObject(message.gpus, options);
8114+
if (message.vcpu != null && message.hasOwnProperty("vcpu")) {
8115+
object.vcpu = message.vcpu;
8116+
if (options.oneofs)
8117+
object._vcpu = "vcpu";
8118+
}
8119+
if (message.memory != null && message.hasOwnProperty("memory")) {
8120+
object.memory = message.memory;
8121+
if (options.oneofs)
8122+
object._memory = "memory";
8123+
}
8124+
if (message.disk_size != null && message.hasOwnProperty("disk_size")) {
8125+
object.disk_size = message.disk_size;
8126+
if (options.oneofs)
8127+
object._disk_size = "disk_size";
8128+
}
8129+
if (message.image != null && message.hasOwnProperty("image")) {
8130+
object.image = message.image;
8131+
if (options.oneofs)
8132+
object._image = "image";
8133+
}
79918134
return object;
79928135
};
79938136
/**

0 commit comments

Comments
 (0)