diff --git a/src/app/components/project-map/node-editors/configurator/configurator.component.scss b/src/app/components/project-map/node-editors/configurator/configurator.component.scss
index f4fceb63..e4e49d62 100644
--- a/src/app/components/project-map/node-editors/configurator/configurator.component.scss
+++ b/src/app/components/project-map/node-editors/configurator/configurator.component.scss
@@ -17,6 +17,19 @@
scrollbar-width: thin;
}
+.file-button {
+ width: 18%;
+}
+
+.file-name-form-field {
+ padding-left: 2%;
+ width: 80%;
+}
+
+.nonvisible {
+ display: none;
+}
+
::-webkit-scrollbar {
width: 0.5em;
}
diff --git a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html
index a4c3cb3a..89236308 100644
--- a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html
+++ b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.html
@@ -10,10 +10,10 @@
-
-
+
+
@@ -124,11 +124,25 @@
-
+
+
+
+
+
+
+
-
- Allow GNS3 to use any configured VirtualBox adapter
+
+ Use the legacy networking mode
-
+
+
+
+ Linux boot specific settings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bios
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Optimization
+
+
+
+ Activate CPU throttling
+
+
+
+
+
+
+
+ {{priority}}
+
+
+
+
+
+
+
+
+ Additional settings
+
+
+
+
+
+
+
diff --git a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts
index c5926aef..8367c196 100644
--- a/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts
+++ b/src/app/components/project-map/node-editors/configurator/qemu/configurator-qemu.component.ts
@@ -58,10 +58,28 @@ export class ConfiguratorDialogQemuComponent implements OnInit {
});
}
+ uploadCdromImageFile(event){
+ this.node.properties.cdrom_image = event.target.files[0].name;
+ }
+
+ uploadInitrdFile(event){
+ this.node.properties.initrd = event.target.files[0].name;
+ }
+
+ uploadKernelImageFile(event){
+ this.node.properties.kernel_image = event.target.files[0].name;
+ }
+
+ uploadBiosFile(event){
+ this.node.properties.bios_image = event.target.files[0].name;
+ }
+
getConfiguration() {
this.consoleTypes = this.qemuConfigurationService.getConsoleTypes();
this.onCloseOptions = this.qemuConfigurationService.getOnCloseOptions();
- this.networkTypes = this.qemuConfigurationService.getNetworkTypes();
+ this.qemuConfigurationService.getNetworkTypes().forEach(n => {
+ this.networkTypes.push(n[0]);
+ });
this.bootPriorities = this.qemuConfigurationService.getBootPriorities();
this.diskInterfaces = this.qemuConfigurationService.getDiskInterfaces();
}
@@ -78,7 +96,7 @@ export class ConfiguratorDialogQemuComponent implements OnInit {
this.node.properties.adapters = this.node.custom_adapters.length;
- this.nodeService.updateNodeWithCustomAdapters(this.server, this.node).subscribe(() => {
+ this.nodeService. updateNodeWithCustomAdapters(this.server, this.node).subscribe(() => {
this.toasterService.success(`Node ${this.node.name} updated.`);
this.onCancelClick();
});
diff --git a/src/app/services/node.service.ts b/src/app/services/node.service.ts
index d07c19d6..bd6bed53 100644
--- a/src/app/services/node.service.ts
+++ b/src/app/services/node.service.ts
@@ -104,6 +104,16 @@ export class NodeService {
});
}
+ updateQemuNode(server: Server, node: Node): Observable {
+ return this.httpServer.put(server, `/projects/${node.project_id}/nodes/${node.node_id}`, {
+ console_type: node.console_type,
+ console_auto_start: node.console_auto_start,
+ custom_adapters: node.custom_adapters,
+ name: node.name,
+ properties: node.properties
+ });
+ }
+
delete(server: Server, node: Node) {
return this.httpServer.delete(server, `/projects/${node.project_id}/nodes/${node.node_id}`);
}