einbinden von Hosts in das Vcenter Per skript
Verfasst: 24.05.2011, 09:35
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.
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.