vm 생성 페이지.png

#WEB 내의 HTML

<script>
function check() {
    if (document.getElementById("vmname").value == "") {
            alert("VM 이름을 입력해주세요.");
            return false;
}
    else{
    document.createvm.submit();
    alert("입력이 완료되었습니다.\\nVM생성까지 약 1분 소요 됩니다.");
    }
}
function myreset(){
    document.createvm.reset();

}
</script>

<form action="wp-vm-test.php" name="createvm" method="post">
<table class="is-style-stripes">
  <tbody><tr>
    <th>VM_NAME</th>
    <td><input type="text" name="vmname" id="vmname"></td>
  </tr>
  <tr>
    <th>vCPUs</th>
    <td><select name="cpu" id="cpu">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select></td>
  </tr>
  <tr>
    <th>RAM</th>
    <td><select name="ram" id="ram">
    <option value="512">512MB</option>
    <option value="1024">1GB</option>
    <option value="2048">2GB</option>
    <option value="3072">3GB</option>
    <option value="4096">4GB</option>
    </select></td>
  </tr>
  <tr>
    <th>Storage</th>
    <td><select name="storage" id="storage">
    <option value="5">5GB</option>
    <option value="10">10GB</option>
    <option value="20">20GB</option>
    <option value="30">30GB</option>
    <option value="50">50GB</option>
    <option value="100">100GB</option>
    </select></td>
  </tr>
  <tr>
    <th>OS</th>
    <td><select name="source" id="source">
    <option value="centos7">Centos7</option>
    <option value="cirros">Cirros</option>
    </select></td>
  </tr>
</tbody></table>
<input type="button" value="VM 생성" onclick="check()">
<input type="button" value="초기화" onclick="myreset()"> 
</form>

#VM생성 시 동작하는 php 파일

#/var/www/html/wordpress/wp-vm.php

<?php
$vmname = $_POST['vmname'];
$ram = $_POST['ram'];
$storage = $_POST['storage'];
$source = $_POST['source'];
$cpu = $_POST['cpu'];

if($source == "cirros"){
    $create_img = "cp /remote/cirros-org.img /remote/cirros-$vmname.img";
    system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no root@192.168.102.10 $create_img");
    $text = "virt-install --name=$vmname --ram=$ram --network network=default --disk=/remote/cirros-$vmname.img --import &";
}
elseif($source == "centos7"){
    $text = "virt-install --name=$vmname --ram=$ram --network network=default --cdrom=/remote/centos7.iso --disk path=/remote/$vmname.img,size=$storage --vpcus $cpu &";
}

#$text = "virt-install --name=$vmname --ram=$ram --network network=default --disk=/remote/$source --import &";
#$text = "virt-install --name=$vmname --ram=$ram --network network=default --cdrom=/remote/centos7.iso --disk path=/remote/$vmname.img,size=$storage &";
system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no root@192.168.102.10 $text");
#exec("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no root@192.168.102.10 $text");
header('Location: ' . $_SERVER['HTTP_REFERER']);
?>