libvirt VM not getting IP
\#!/usr/bin/env bash
\#set -x
## Define variables
MEM_SIZE="8192" # Memory setting in MiB
VCPUS="2" # CPU Cores count
\#OS_VARIANT="rocky9" # List with osinfo-query os
OS_VARIANT="rhel7.9" # List with osinfo-query os
ISO_FILE="~/Documents/software/os/RHEL-7.9-20200917.0-Server-x86_64-dvd1.iso" # Path to ISO file
case $OS_VARIANT in
rhel7.9)
KS=ks7.cfg;;
rocky9)
KS=ks9.cfg;;
esac
echo -en "Enter vm name: "
read VM_NAME
OS_TYPE="linux"
echo -en "Enter virtual disk size : "
read DISK_SIZE
DISK=~/.local/share/libvirt/images/${VM_NAME}.qcow2
echo "Creating disk"
sudo virt-install \
--name ${VM_NAME} \
--memory=${MEM_SIZE} \
--vcpus=${VCPUS} \
--location ${ISO_FILE} \
--network network=default \
--disk path=${DISK},size=${DISK_SIZE} \
--graphics=none \
--os-variant=${OS_VARIANT} \
--console pty,target_type=serial \
--initrd-inject ~/virt/${KS} --extra-args "inst.ks=file:/${KS} console=tty0 console=ttyS0,115200n8"
I've obfuscated the directory paths, but they're all full paths and the script will build a VM. So basically just setting up a basic system, using the default network. Here's the config for that:
<network connections='3'>
<name>default</name>
<uuid>61afc7f1-9c5e-4cra-8d18-e3cf4f9358e9</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:7c:32:9b'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
Looking at the XML for the VM, I see the following for the network:
<interface type='network'>
<mac address='52:54:00:07:82:78'/>
<source network='default' portid='800dfd67-d90a-42te-a0b7-c4c78cdae481' bridge='virbr0'/>
<target dev='vnet7'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
When this VM is installing, and when it's booted, it does not have an IP. Meanwhile, if I go through virt-manager and select the default network, it gets an IP just fine. I've tried running the virt-install command w/ and w/o sudo (I run virt-manager as me - I'm in the libvirt group). Looking at the virt-manager built VM:
<interface type='network'>
<mac address='52:54:00:5e:f5:05'/>
<source network='default' portid='d57dbc56-759e-40f9-856f-9623f4801a93' bridge='virbr0'/>
<target dev='vnet8'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Looking at virbr0:
$ ip link show master virbr0
11: vnet7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether fe:54:00:07:82:78 brd ff:ff:ff:ff:ff:ff
12: vnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether fe:54:00:5e:f5:05 brd ff:ff:ff:ff:ff:ff
Only difference I can see is one is created using virt-install and the other using virt-manager (which calls to virt-install, no?). I thought there was a way to see the actual virt-install command virt-manager was about to use when creating a VM, but I can't find it. Also can't find any logs to give me an idea why the VM isn't getting an IP. Running ethtool on the VM interface shows a link. I've wasted too much time getting this to work, and all the documentation suggests it should "just work!"
StinkyFingerItchyBum
in reply to Davriellelouna • • •Deal? There are no deals to be made. Trump doesn't honor any deal, including his own. He is bound by no court, or rule of law. No congressional checks and balances. They are bad faith actors. There is nothing to negotiate.
The FDA has been gutted. The food is even less safe than it used to be.
American food, like their diplomacy is a nightmare. Don't do it.
LandedGentry
in reply to StinkyFingerItchyBum • • •