Update source into github
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Http\Services\vCenter;
|
||||
use App\Models\Vcenter as VcenterModel;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class TestAddonUpdate extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'test:addon-update
|
||||
{vm_id : VM ID to test}
|
||||
{--cpu=1 : CPU addon amount}
|
||||
{--ram=1 : RAM addon amount in GB}
|
||||
{--disk=0 : Disk addon amount in GB}
|
||||
{--vcenter=1 : vCenter ID}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Test addon update functionality for a specific VM';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$vmId = $this->argument('vm_id');
|
||||
$cpuAddon = (int) $this->option('cpu');
|
||||
$ramAddon = (int) $this->option('ram');
|
||||
$diskAddon = (int) $this->option('disk');
|
||||
$vcenterId = (int) $this->option('vcenter');
|
||||
|
||||
$this->info("🧪 Testing addon update for VM: {$vmId}");
|
||||
$this->info("Addon config: CPU={$cpuAddon}, RAM={$ramAddon}GB, Disk={$diskAddon}GB");
|
||||
|
||||
try {
|
||||
// Lấy vCenter model
|
||||
$vcenterModel = VcenterModel::find($vcenterId);
|
||||
if (!$vcenterModel) {
|
||||
$this->error("❌ Không tìm thấy vCenter với ID: {$vcenterId}");
|
||||
return 1;
|
||||
}
|
||||
|
||||
$this->info("📡 Connecting to vCenter: {$vcenterModel->host}");
|
||||
|
||||
// Khởi tạo vCenter service
|
||||
$vCenter = new vCenter();
|
||||
|
||||
// Login to vCenter
|
||||
if (!$vCenter->loginServer($vcenterModel)) {
|
||||
$this->error("❌ Không thể login vào vCenter");
|
||||
return 1;
|
||||
}
|
||||
|
||||
$this->info("✅ Login thành công");
|
||||
|
||||
// Test addon update
|
||||
$addon = [
|
||||
'cpu' => $cpuAddon,
|
||||
'ram' => $ramAddon,
|
||||
'disk' => $diskAddon
|
||||
];
|
||||
|
||||
$result = $vCenter->testAddonUpdate($vmId, $addon, 1, 1);
|
||||
|
||||
if ($result['error']) {
|
||||
$this->error("❌ Test thất bại: " . $result['message']);
|
||||
return 1;
|
||||
}
|
||||
|
||||
$this->info("✅ Test thành công: " . $result['message']);
|
||||
$this->info("📋 Kiểm tra logs để xem chi tiết");
|
||||
|
||||
return 0;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
$this->error("❌ Exception: " . $e->getMessage());
|
||||
Log::error("TestAddonUpdate command error: " . $e->getMessage());
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user