How to prepare Hyper-V OSTemplate for Debian?

Question : Debian Virtual Machines on Hyper-V are not creating properly via HC10 panel. What could be the reason ?
Answer : Such issue occurs if Debian OSTemplate is not properly prepared. To configure the Debian OSTemplate the following steps must be followed :
 
  • Disable Debian Firewall on OSTemplate
  • Enable root User on Debian OSTemplate
  • Install HC Hyper-V components on Debian OSTemplate
  • Install Updated Linux Integration Services (LIS)
  • Install net-tools package
  • Enable Communication with Hyper-V node on port 8796
  • HC Panel Level Configurations for Debian OSTemplates
All these steps are explained in detail below in this kb article.
 
Disable Debian Firewall on OSTemplate : Debian Firewall should be disabled on OSTemplate. The default Debian installation comes with the program iptables, configured to allow all traffic. You need to be root, or use sudo, to launch iptables program. To check status of firewall run the following command :
 
sudo iptables -L
 
If disabled, the output should look like this:
 
Chain INPUT (policy ACCEPT)
target prot opt source destination 
 
Chain FORWARD (policy ACCEPT)
target prot opt source destination 
 
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
 
If the above output is not shown this means the firewall is enabled with certain rules. Now to disable the iptables run the following commands in sequence :
 
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
Enable root User on Debian OSTemplate : To enable root user in Debian , run the following commands in sequence :
  1. sudo passwd root  ( This command will prompt you to enter root user password twice in order to confirm the password is correctly entered )
  2. sudo passwd -u root ( The second command will unlock the root user )
Install HC Hyper-V components on Debian OSTemplate : Follow the instructions given below in order to install HC Hyper-V Components for your Debian Server.
 
  1. For Linux there are 2 versions of HC Hyper-V Components. Choose the one that corresponds to your operating system.



    HC Hyper-V Component for 32 bit OS : http://downloads.hostingcontroller.com/utilities/hcvmcomp_x86.tar.gz
    HC Hyper-V Component for 64 bit OS : http://downloads.hostingcontroller.com/utilities/hcvmcomp_x64.tar.gz 
     
  2. Once you download, extract the file using the command: tar -xvzf hcvmcomp_x64.tar.gz
  3. After this run this command : chmod 755 ./install_hcvmcomp.sh
  4. And then : ./install_hcvmcomp.sh    
 
Install Linux Integration Service (LIS) : If you run lsmod | grep hv_ command, it will show that these are installed properly. However, to install the latest updated LIS tools, following steps are required to be run on the OSTemplate in the following sequence :
 
  1. sudo apt-get install hyperv-daemons
  2. sudo update-initramfs -u
  3. reboot
This will update LIS updated tools on your OSTemplate.
 
Install net-tools package : This package is mandatory to be installed on the Debian Guest OSTemplate. To install the package you can run the following command : 
apt-get install net-tools
 
Note: After performing all above tasks, Debian OSTemplate is now ready to be used for provisioning of Virtual Machines via HC10 panel.
 
Enable Communication with Hyper-V node on port 8796  OSTemplate machine must be able to communicate on port 8796 with Hyper-V node which is HC Provisioning Service port. To ensure it, follow the instructions as given below :
 
  1. Open SSH from root user.
  2. Type command "telnet Hyper-V-IPAddress 8796"
Where Hyper-V-IPAddress = ipaddress of Hyper-V machine.
 
HC Panel Level Configurations for Debian OSTemplates : In order to configure Debian Guest OSTemplate, follow the steps given below :
  1. Open HC panel as Global Admin user.
  2. Navigate to the menu : Configurations >> Virt. Module Conf. >> OSTemplates. Here click on Add OS Template button.
  3. Now specify all the details which are related to your Debian OSTemplate like its Generation, Template Size, root user and password etc. A sample of Debian OSTemplate is given below just for example to give you an idea about the settings. These settings will differ according to the settings of your custom created OSTemplate for Debian.