Preferences options for qemu temporary disabled

This commit is contained in:
Piotr Pekala 2019-01-25 06:31:32 -08:00
parent a813516dac
commit 7eac08ab91
7 changed files with 46 additions and 6 deletions

View File

@ -24,7 +24,8 @@ const routes: Routes = [
{ path: 'server/:server_id/projects', component: ProjectsComponent },
{ path: 'settings', component: SettingsComponent },
{ path: 'server/:server_id/preferences', component: PreferencesComponent },
{ path: 'server/:server_id/preferences/qemu', component: QemuPreferencesComponent },
// temporary disabled
// { path: 'server/:server_id/preferences/qemu', component: QemuPreferencesComponent },
{ path: 'server/:server_id/preferences/qemu/templates', component: QemuVmTemplatesComponent },
{ path: 'server/:server_id/preferences/qemu/templates/:template_id', component: QemuVmTemplateDetailsComponent },
{ path: 'server/:server_id/preferences/qemu/addtemplate', component: AddQemuVmTemplateComponent }

View File

@ -13,7 +13,7 @@
</button>
</mat-list-item>
<mat-list-item>
<button mat-button routerLink="/server/{{serverId}}/preferences/qemu">
<button mat-button routerLink="/server/{{serverId}}/preferences/qemu/templates">
QEMU
</button>
</mat-list-item>

View File

@ -71,10 +71,10 @@ export class AddQemuVmTemplateComponent implements OnInit {
qemuTemplate.adapters = 1;
qemuTemplate.boot_priority = "c";
qemuTemplate.category = "guest";
qemuTemplate.name = this.templateName;
//this.router.navigate(['/server', this.server.id, 'preferences', 'qemu', 'templates']);
this.qemuService.addTemplate(this.server, qemuTemplate).subscribe((template: QemuTemplate) => {
this.router.navigate(['/server', this.server.id, 'preferences', 'qemu', 'templates']);
});
} else {
this.toasterService.error(`Fill all required fields`);
}

View File

@ -1,4 +1,4 @@
<div class="content">
<div class="content" [ngClass]="{ shadowed: isConfiguratorOpened }">
<div class="default-header">
<div class="row">
<h1 class="col">QEMU VM configuration</h1>
@ -195,6 +195,7 @@
</mat-option>
</mat-select>
</mat-form-field>
<button mat-raised-button color="primary" class="configButton" (click)="configureCustomAdapters()">Configure custom adapters</button><br/>
<mat-checkbox [(ngModel)]="qemuTemplate.legacy_networking">
Use the legacy networking mode
</mat-checkbox>
@ -316,3 +317,13 @@
<div class="buttons-bar"><button mat-raised-button color="primary" (click)="onSave()">Save</button></div>
</div>
</div>
<div class="content" class="configurator" *ngIf="isConfiguratorOpened">
<div class="default-header">
<div class="row">
<h1 class="col">Custom adapters configuration</h1>
</div>
</div>
<div class="default-content" *ngIf="qemuTemplate">
</div>
</div>

View File

@ -19,3 +19,21 @@
padding-right: 2%;
width: 80%;
}
.configButton {
width: 100%;
margin-bottom: 10px;
}
.shadowed {
opacity: 0.4;
margin-right: 80%;
transition: 0.15s;
}
.configurator {
position: absolute;
top: 60px;
left: 50%;
min-width: 300px;
}

View File

@ -61,6 +61,8 @@ export class QemuVmTemplateDetailsComponent implements OnInit {
binaries: QemuBinary[] = [];
activateCpuThrottling: boolean = true;
isConfiguratorOpened: boolean = true;
constructor(
private route: ActivatedRoute,
private serverService: ServerService,
@ -99,6 +101,10 @@ export class QemuVmTemplateDetailsComponent implements OnInit {
this.qemuTemplate.bios_image = event.target.files[0].name;
}
configureCustomAdapters(){
this.isConfiguratorOpened = !this.isConfiguratorOpened;
}
onSave(){
if (!this.activateCpuThrottling){
this.qemuTemplate.cpu_throttling = 0;

View File

@ -26,6 +26,10 @@ export class QemuService {
return this.httpServer.get<QemuImage[]>(server, '/compute/qemu/images') as Observable<QemuImage[]>;
}
addTemplate(server: Server, qemuTemplate: QemuTemplate): Observable<QemuTemplate> {
return this.httpServer.post<QemuTemplate>(server, `/templates`, qemuTemplate) as Observable<QemuTemplate>;
}
saveTemplate(server: Server, qemuTemplate: QemuTemplate): Observable<QemuTemplate> {
return this.httpServer.put<QemuTemplate>(server, `/templates/${qemuTemplate.template_id}`, qemuTemplate) as Observable<QemuTemplate>;
}