Seite 1 von 1

einbinden von Hosts in das Vcenter Per skript

Verfasst: 24.05.2011, 09:35
von hans1109mueller
Und zwar habe ich versucht einen Host per KS skript und pxe boot zu installieren. Dies hat auch soweit geklappt.

vmaccepteula
install url http://x.y.136.145/installmedia/esxi-iso
rootpw VMware208
clearpart --overwritevmfs --firstdisk=local
autopart --firstdisk=local --overwritevmfs

#DHCP
#network --bootproto=dhcp --device=vmnic6
#statisch
network --bootproto=static --device=vmnic6 --ip=x.y.136.208 --gateway=x.y.136.129 --netmask=255.255.255.128 --hostname=esx208 --nameserver="x.y.40.242,x.y.40.243"
keyboard German
reboot

So nun habe ich versucht im gleichen Skript diesen Host in einem Vcenter einzugliedern.
Doch nun führt er die Installation nur lückenhaft aus, das heißt z.B. vergibt er kein Passwort und der host taucht auch nicht im Vcenter auf. ich schätze der Fehler liegt irgendwo bei der XML Anweisung. kann mir irgendjmd weiter helfen?

vmaccepteula
install url http://x.y.136.145/installmedia/esxi-iso
rootpw VMware208
clearpart --overwritevmfs --firstdisk=local
autopart --firstdisk=local --overwritevmfs

#DHCP
#network --bootproto=dhcp --device=vmnic6
#statisch
network --bootproto=static --device=vmnic6 --ip=x.y.136.208 --gateway=x.y.136.129 --netmask=255.255.255.128 --hostname=esx208 --nameserver="x.y.40.242,x.y.40.243"
keyboard German
reboot

%firstboot --unsupported --interpreter=busybox

#enable TechSupportModes
vim-cmd hostsvc/enable_remote_tsm
vim-cmd hostsvc/start_remote_tsm
vim-cmd hostsvc/enable_local_tsm
vim-cmd hostsvc/start_local_tsm
vim-cmd hostsvc/net/refresh

#Add Host to Vcenter

import re,os,urllib,urllib2
url = "https://x.y.136.144/mob/?moid=&method=addHost"
username = "administrator"
password = "administratorpassword"
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None,url,username,password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
cmd = "openssl x509 -sha1 -in /etc/vmware/ssl/rui.crt -noout -fingerprint"
tmp = os.popen(cmd)
#tmp_sha1 = tmp.readline()
tmp.close()
s1 = re.split('=',tmp_sha1)
s2 = s1[1]
s3 = re.split('\n', s2)
sha1 = s3[0]

xml = 'x.y.136.208rootVMware2081'
xml = xml.replace(sha1)

params = {'spec':xml,'asConnected':'1','resourcePool':'','license':''}
e_params = urllib.urlencode(params)
req = urllib2.Request(url,e_params)
page = urllib2.urlopen(req).read()

reboot

Danke für eure Hilfe.