Ich versuche, eine VM mithilfe einer OVF-Konfiguration bereitzustellen. Mein Ziel ist es, den vom Benutzer in der OVF-Umgebung bereitgestellten Schlüsselwert mithilfe von VMware Guestinfo an die VM weiterzugeben. Im Folgenden sind die Einstellungen/Attribute aufgeführt, die ich meiner OVF-Datei hinzugefügt habe.
<ProductSection ovf:required="false">
<Info>Virtual Appliance</Info>
<Property ovf:userConfigurable="true" ovf:type="string"
ovf:key="guestinfo.hello" ovf:value="">
<Label>hello</Label>
<Description>enter some string</Description>
</Property>
</ProductSection>
....
<VirtualHardwareSection ovf:transport="com.vmware.guestInfo">
....
Nach der Bereitstellung der VM kann ich die Eigenschaft in der OVF-Umgebung unter VM vApp-Optionen überprüfen. Folgendes sehe ich
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id=""
ve:vCenterId="vm-11260">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>6.0.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804-
10.22.162.0/25" ve:unitNumber="7"/>
<ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804-
10.22.162.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>
Schließlich, wenn ich mich bei der Box anmelde und versuche, die Eigenschaft guestinfo mit dem vmtoolsd-Befehl abzurufen
vmtoolsd --cmd "info-get hallo"
ich bekomme
„Kein Wert gefunden“
Ich muss helfen, dieses Problem zu beheben. Ich bin mir nicht sicher, ob in meiner OVF-Konfiguration etwas fehlt. Vielen Dank im Voraus. Ich weiß Ihre Hilfe zu schätzen!
Antwort1
Ich denke, es gibt keine direkte Möglichkeit, den Schlüssel speziell zu bekommen, aber ich kann vmtoolsd --cmd "info-get guestinfo.ovfenv"
auf meiner Box laufen und die Ausgabe ist
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id=""
ve:vCenterId="vm-xxxx">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>6.0.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804-
xxx.xxx.xxx.0/25" ve:unitNumber="7"/>
<ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804-
xxx.xxx.xxx.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>
das ist, was ich in der OVF-Umgebung für die VM in vcenter sehe. Angenommen, dies kann eine Möglichkeit sein, den Schlüsselwert mithilfe von vmtools von der VM abzurufen