It's occoured to me that currently peoples "kickstart" questions & answers are dotted all over the place on various other threads/blogs. Beyond that there seems to be innumberable resources online especially on redhat.com.
Most of my work with kickstart has been with the UDA, although I have done some work building custom ESX CDs, and at some stage I must return to the topic of putting ESX on a memory stick - which has worked for others, but I've never made work personally.
I wondered if it would be useful to have like a "master" kickstart thread were people post their findings or questions in one place. Perhaps like a sticky FAQ?
I have just tried to reuse my ESX 3.0.1 kickstart script with 3.5 and immediately run into an issue.
My kickstart is integrated onto the 3.5 CD. When the install starts, it throws up an error like 'unable to find driver for this installation type'. I then get the option to select a driver or use a driver disk. If I try and select a driver (it's looking for a disk controller) of the correct type (mptscsi_2xxx or whatever it is) for the controller in my blade it doesn't get anywhere.
Any ideas? This was working fine with 3.0.1.
Can you post your kickstart script or at least the portion that you believe is failing. I have converted my script from 3.0.2 to 3.5 and only needed to change the folder names. I use PXE and an FTP source to boot and host the install files, but have not had any issues as you have described. I have also modified the source files to remove the SAN HBA's during the install process so not to over write any VMFS's.
Are you by chance using different hardware than you did with the 3.0.1 install?
Nothing has changed in respect of hardware - I'm using the exact same piece of kit I used just the other day with a 3.0.1 scripted install. The initial part of my script is below (everything before %post) - any ideas gratefully accepted, as I'm baffled as to why it would suddenly have a driver issue:
Specify Installation Method/Media
Configure English/UK Language Support
langsupport --default en_UK
Run ESX Installer in Text Mode
Set Password for root
rootpw --iscrypted xxxxxxxx
auth --enableshadow --enablemd5
Specify Bootloader location
Set Time Zone for GMT
Configure Service Console
network --bootproto static --ip x.x.x.x --netmask x.x.x.x --gateway x.x.x.x --nameserver x.x.x.x --hostname esxservername
Set to reboot after installation
Partition the local disks
clearpart --all --initlabel --drives=sda
part /boot --fstype ext3 --size 256 --ondisk sda --asprimary
part / --fstype ext3 --size 5120 --ondisk sda --asprimary
part swap --size 1600 --ondisk sda --asprimary
part /opt --fstype ext3 --size 2048 --ondisk sda
part /tmp --fstype ext3 --size 1536 --ondisk sda
part /home --fstype ext3 --size 512 --ondisk sda
part /var --fstype ext3 --size 2048 --ondisk sda
part /msi --fstype ext3 --size 20480 --ondisk sda
part None --fstype vmkcore --size 100 --ondisk sda
Configure ESX Server licensing
vmlicense --mode=server --firstname.lastname@example.org --edition=esxFull
Specify base ESX Server installation
i´m running four esx servers 3.5 and i´m looking for the command line to activate all NICs after the scripted Installation is finnished.
Right now only one NIC is active on one of my vSwitches and the three other NIC are in Standby Mode.
I can change the NIC Settings at Virtual Infrastructur Client 2.5, under Configuration/ Network / Virtual Switch Settings / Properties / under NIC Teaming but i need this Settings done at the scripted Installation.
All Network Adapters must be active adapters for all Portgroups.
My ks.cfg :
#Create a vSwitch
/usr/sbin/esxcfg-vswitch -a vSwitch1
/usr/sbin/esxcfg-vswitch -A Portgroup_123_12 vSwitch1
#Link NICs to vSwitch
/usr/sbin/esxcfg-vswitch -L vmnic2 vSwitch1
/usr/sbin/esxcfg-vswitch -L vmnic3 vSwitch1
/usr/sbin/esxcfg-vswitch -L vmnic4 vSwitch1
/usr/sbin/esxcfg-vswitch -L vmnic5 vSwitch1
#create VLAN at vSwitch
/usr/sbin/esxcfg-vswitch -v 90 -p Portgroup_123_12 vSwitch1
/usr/sbin/esxcfg-vswitch -v 320 -p PG_248 vSwitch1
Thanx a lot for helping me out.
I am doing this by these 2 lines of code in my post install script.
mv /etc/vmware/esx.conf /tmp/esx.conf.bak
sed -e 's/net\/vswitch\/child\[0001\]\/teamPolicy\/maxActive = \".\"/net\/vswitch\/child\[0001\]\/teamPolicy\/maxActive = \"4\"/g' /tmp/esx.conf.bak >> /etc/vmware/esx.conf
where you would change the 0001 to what ever switch you are wanting to change and the \"4\" to the number of ports that you are needing.
thanks for your Answer. I found a similar post like your solution:
mv /etc/vmware/esx.conf /tmp/esx.conf.bak
sed -e 's/net\/vswitch\/child\[0000\]\/teamPolicy\/maxActive = \".\"/net\/vswitch\/child\[0000\]\/teamPolicy\/maxActive = \"2\"/g' /tmp/esx.conf.bak > /tmp/esx.conf.bak1
sed -e 's/net\/vswitch\/child\[0001\]\/teamPolicy\/maxActive = \".\"/net\/vswitch\/child\[0001\]\/teamPolicy\/maxActive = \"4\"/g' /tmp/esx.conf.bak1 > /tmp/esx.conf.bak2
mv /tmp/esx.conf.bak2 /etc/vmware/esx.conf
This sets my 6 NICs on two virtual Switches to active. Two active NICs on Switch 0 and four active NICs on Swtich 1.
This works fine for me.
Thanx a lot!
Did you manage to progress further with your issue? I too am having issues ( networking fails while obtaining DHCP during kickstart ) with the 3.5 kickstart install with re-using previously working NFS kickstart setup for 3.0.1 and 3.0.2. There haven't been any hardware changes made either. I tested with modifying the initrd image for 3.5 with the tg3 driver from 3.0.2 and installation progressed past the dhcp section and mounts my iso but later failed ( maybe due to further driver issues? ). Have logged a case with vm support but not getting much luck.
Ok, does anyone know how to set the security settings on vSwitches?
I thought you could do it with vimsh under /hostsvc/net/vswitch_setpolicy but it looks like there are only options to Allow and not Reject.
VMware Communities User Moderator
You can set those types of things with vimsh
The example below rejects mac changes - but I'm pretty sure they're all in there somewhere
# Reject MAC Address changes via both vSwitches
vimsh -n -e "/hostsvc/net/vswitch_setpolicy --securepolicy-macchange=false vSwitch1"
vimsh -n -e "/hostsvc/net/vswitch_setpolicy --securepolicy-macchange=false vSwitch0"
thats what I thought but it didnt seem to work for me, let me try it again.
Here are all the Options:
Allow promiscuous mode.
Allow MAC address to be changed.
Allow forged transmits.
VMware Communities User Moderator
Would you be able to please provide me with some of your code? I am trying to do something very similar in my environment and I dont have down how to get all the ip info in there in a simple way after the base installs are done. Any help you can provide is greatly appreciated.
Hi Mike, I have pxe install's of esx 3.5 running on dell 1950's. I also have a number of HP DL360 which do not work. There is an issue with the broadcom nic and dhcp. I get it half loaded and then it bombs out when it needs to set the ip the second and final time. I substitute a Dell and change the mac in the dhcpd.conf and it works fine. I also had another question. I got 3.01 to load off a stick using Paul's hdstg2.img file. I've tried to insert the partitions.py file in the 3.5 hdstg2.img file and it doesn't work. Anaconda knows the difference. I've posted to Paul several times to see if he has modified the 3.5 script. Have you heard anything from him lately regarding this issue.
NICS and DHCP there is nowt so weird... I've been lucky and never had a problem... This maybe useful:
Wish that Anaconda doc on the fedora wiki hadn't got relocated...
I never got ESX on Stick working - I blame the proprietry nature of USB.... as such it never made the cut for the book,,,
Can you post your pxe 3.5 scripts that work on the 1950's. I am converting my pxe 3.0x scripts and applications to work with 3.5. Since i am using 1855's and 1955's most of your script changes should be applicable to my work.
Thanks in advance
I have a question for you too. does your patch installation script work with 3.5. I know about the patch manager but I liked that i had it working as part of the installation.
and if your interested I wrote a vbscript front end that fills in the placeholders for all the network and partitioning information and places it in the proper place on a pxe server. It allows 3.01 3.02 and soon 3.5 to be deployed. I have been given a very short time to accomplish this upgrade to the new version (we are building a new data center. I have 3 weeks to do what tooke me 3 months to do the first time.)
I also built all of my scripts around pxe and the windows deployment server. If you want i can help you include that in your document. or at least provide you with examples that work. Of course that is after i get this working in the next 3 weeks. LOL
I've also raised this as a separate question (so I can award points)
But I thought that some of you guys might know the answer?
I'm looking at writing a script to delete my usual ESX vswitch settings and then recreate some new vswitches with different settings (for deployment in a DMZ, with new vlans etc)
I'm aiming to use a mixture of the usual esxcfg-vswitch, esxcfg-vswif and vimsh commands.
One thing I've noticed, is that the internal portgroup numbers (displayed by esxcfg-vswitch) and also needed in the vimsh syntax (for ESX 3.0x) to enable vmotion always seem to be incremented.
I've tried deleting the old portgroups and then restarting the network (and even rebooting) - but the next time I create a new portgroup - the internal count is always set to one higher than the last one used.
Does anyone know where this count is held by ESX (or even better how it can be reset)?
(It doesn't appear to be in the esx.conf)
I am still using ESX 3.02
bool is short for boolean. Meaning you'll have to use a 'true' or 'false' string instead of just 'bool'.