|
|
@@ -67,6 +67,8 @@ class VmUpdateProvider extends VmCreateProvider
|
|
|
if($vm instanceof Kvm){
|
|
|
$bootOrder = $vm->getBootOrder();
|
|
|
$this->data['bootOrder0'] = $bootOrder[0];
|
|
|
+ $this->data['bootOrder1'] = $bootOrder[1];
|
|
|
+ $this->data['bootOrder2'] = $bootOrder[2];
|
|
|
$options = [
|
|
|
0 => sl("lang")->tr("None"),
|
|
|
"c" => sl("lang")->tr("Disk"),
|
|
|
@@ -89,6 +91,8 @@ class VmUpdateProvider extends VmCreateProvider
|
|
|
}
|
|
|
}
|
|
|
$this->availableValues['bootOrder0'] = $options;
|
|
|
+ $this->availableValues['bootOrder1'] = $options;
|
|
|
+ $this->availableValues['bootOrder2'] = $options;
|
|
|
}
|
|
|
//sshkeys
|
|
|
$this->data['sshkeys'] = rawurldecode($vm->config()['sshkeys']);
|
|
|
@@ -236,117 +240,4 @@ class VmUpdateProvider extends VmCreateProvider
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-
|
|
|
-/* private function virtualNetworkUpdate()
|
|
|
- {
|
|
|
- try {
|
|
|
-
|
|
|
- $viIds = [];
|
|
|
- //delete
|
|
|
- for ($i = 0; $i <= 20; $i++) {
|
|
|
- if ($this->formData['virtualInterface' . $i]) {
|
|
|
- $viIds[] = $this->formData['virtualInterface' . $i]['id'];
|
|
|
- }
|
|
|
- }
|
|
|
- $virtualInterfaces = VirtualInterface::ofHostingId($this->getWhmcsParamByKey('serviceid'))
|
|
|
- ->ofVmId($this->vmModel->id);
|
|
|
- if ($viIds) {
|
|
|
- $virtualInterfaces->notId($viIds);
|
|
|
- }
|
|
|
- $this->networkService->deleteByIpAddresses($virtualInterfaces->get());
|
|
|
- DB::commit();
|
|
|
- DB::beginTransaction();
|
|
|
- //create
|
|
|
- $newVi = [];
|
|
|
- for ($i = 1; $i <= 20; $i++) {
|
|
|
- if (!$this->formData['virtualNetwork' . $i]) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- $ip = $this->formData['virtualNetwork' . $i]['ip'];
|
|
|
- $virtualNetworkId = $this->formData['virtualNetwork' . $i]['id'];
|
|
|
- //lock public ip
|
|
|
- if ($virtualNetworkId == 'public') {
|
|
|
- VmIpAddress::ofHostingId($this->getWhmcsParamByKey('serviceid'))
|
|
|
- ->ofIp($ip)
|
|
|
- ->update(['vm_id' => $this->vmModel->id]);
|
|
|
- }
|
|
|
- $vi = new VirtualInterface();
|
|
|
- $vi->ip = $ip;
|
|
|
- $vi->ip_long = ip2long($ip);
|
|
|
- $vi->vm_id = $this->vmModel->id;
|
|
|
- $vi->vn_id = $virtualNetworkId == "public" ? 0 : $virtualNetworkId;
|
|
|
- $vi->hosting_id = $this->getWhmcsParamByKey('serviceid');
|
|
|
- $vi->save();
|
|
|
- $newVi[] = $vi;
|
|
|
- $viIds[] = $vi->id;
|
|
|
- }
|
|
|
- if ($newVi) {
|
|
|
- $config = (new VirtualInterfaceConverter($newVi, \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVm()))->asConfig();
|
|
|
- \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVm()->updateConfig($config);
|
|
|
- }
|
|
|
- DB::commit();
|
|
|
- } catch (\Exception $ex) {
|
|
|
- DB::rollBack();
|
|
|
- Api::commit();
|
|
|
- throw $ex;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private function disksUpdate()
|
|
|
- {
|
|
|
- $vm = \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVm();
|
|
|
- $vmModel = \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVmModel();
|
|
|
- $additonalDiskService = $this->configuration()->isQemu() ? new AdditionalDiskService() : new AdditionalMountPointService();
|
|
|
- //Update
|
|
|
- $diskIds=[];
|
|
|
- $resizeTask = null;
|
|
|
- for ($i = 0; $i <= 20; $i++) {
|
|
|
- if ($this->formData['disks' . $i]) {
|
|
|
- $id = $this->formData['disks' . $i]['id'];
|
|
|
- $size = $this->formData['disks' . $i]['size'];
|
|
|
- $backup = $this->formData['disks' . $i]['backup'] == "on" ? null : 0;
|
|
|
- $mp = $this->formData['disks' . $i]['mp'];
|
|
|
- $hdd = $vm->getHardDiskRepostiory()->findById($id);
|
|
|
- if($resizeTask && $this->configuration()->isLxc()){
|
|
|
- for($i=0; $i<=15; $i++){
|
|
|
- if($vm->node()->task($resizeTask)->isDone()){
|
|
|
- $resizeTask = null;
|
|
|
- break;
|
|
|
- }
|
|
|
- sleep(1);
|
|
|
- }
|
|
|
- }
|
|
|
- //Backup
|
|
|
- $hdd->setBackup($backup);
|
|
|
- //mp
|
|
|
- if($hdd instanceof MountPoint){
|
|
|
- $hdd->setBackup($this->formData['disks' . $i]['backup'] == "on" ? 1 : null);
|
|
|
- $hdd->setMp($mp);
|
|
|
- }
|
|
|
- $hdd->update();
|
|
|
- //resize
|
|
|
- if ((int)$hdd->getGb() < (int)$size)
|
|
|
- {
|
|
|
- $size = "+" . abs((int)$size - (int)$hdd->getGb()) . "G";
|
|
|
- $resizeTask = $hdd->resize($size);
|
|
|
- }
|
|
|
- $diskIds[] = $id;
|
|
|
- }
|
|
|
- }
|
|
|
- //delete
|
|
|
- foreach ($vm->getHardDiskRepostiory()->fetch() as $disk){
|
|
|
- if(!$disk->isMaster() && !in_array($disk->getId() ,$diskIds)){
|
|
|
- $disk->delete();
|
|
|
- }
|
|
|
- }
|
|
|
- $vm->getHardDiskRepostiory()->deleteUnused();
|
|
|
- //Create
|
|
|
- $additonalDiskService->create($this->formData);
|
|
|
- //Update disk size
|
|
|
- $vmModel->disks = $vm->getHardDiskRepostiory()->reset()->additionalSize();
|
|
|
- $vmModel->save();
|
|
|
-
|
|
|
- }
|
|
|
-*/
|
|
|
-
|
|
|
}
|