problem with hostname.php when i migrate 1.3.4 => 1.3.5.
-
@jc35 What are you trying to accomplish here?
What is the end goal, because there may be a different way to do this?
-
Hello,
@george1421
I want to get hostname and active directory information. -
Hello,
@Wayne-Workman said in problem with hostname.php when i migrate 1.3.4 => 1.3.5.:
The query looks wrong. This works for me on 1.3.5:
http://10.0.0.2/fog/service/hostname.php?mac=00:26:2d:b4:d9:25it doesn’t work for but it work in 1.2.0,1.3.4.
I tryecho
wget -q -O - "http://10.0.0.2/fog/service/hostname.php?mac=xx:xx:xx:xx:xx:xx" 2>/dev/null
-
@jc35 I don’t understand what happen, because I test on a test server (1.3.5) and it’s work.
-
I try with :
wget -q -O /tmp/hinfo.txt “http://${web}service/hostinfo.php?mac=$mac”
. /tmp/hinfo.txtThe content of /tmp/hinfo.txt is “Cannot view from browser”.
-
@jc35 The hostinfo.php is setup so that postinstall scripts can pick up details about the current deployment. This script outputs the data in a form that can be easily used by a bash shell.
That is why I asked what are you trying to accomplish.
Yes you can not view that data with a browser, that is a security attempt to only allow certain devices (FOS Engine) to access the data. But there is a hack to get around that too.
-
@george1421 said in problem with hostname.php when i migrate 1.3.4 => 1.3.5.:
The hostinfo.php is setup so that postinstall scripts can pick up details about the current deployment. This script outputs the data in a form that can be easily used by a bash shell.
That is why I asked what are you trying to accomplish.
Yes you can not view that data with a browser, that is a security attempt to only allow certain devices (FOS Engine) to access the data. But there is a hack to get around that too.I want get some host information as hostname, adou, for modify the sysprep file in postinstall.
I read to get this information with hostinfo.php, but i don’t understand how to use it. -
@jc35 Can you use
curl
instead? The stuff you’re getting is pure text anyways, not html.curl http://10.0.0.2/fog/service/hostname.php?mac=xx:xx:xx:xx:xx:xx
-
@Wayne-Workman need to add argument
-A ""
-
@jc35 This works fine for me (pictured below). Are you changing the IP address in the command to your own FOG server’s IP?
-
@Wayne-Workman
On my test server on local base is work fine on local base,. When I try to use our base on another server I have same problem, I think the is a problem with our database on other database, i don’t understand why.
Can I do a schema updater ? -
@jc35 Now that I’m aware of what you are trying to do, then this post will give you the background: https://forums.fogproject.org/topic/6463/expose-fog-host-and-image-properties-to-post-install-scripts/10
In your fog post install script you need to add this code
. /usr/share/fog/lib/funcs.sh; wget -q -U '' -O /tmp/hinfo.txt "http://<fog_server_IP>/fog/service/hostinfo.php?mac=$mac" . /tmp/hinfo.txt rm -f /tmp/hinfo.txt
Once you stat the hinfo.txt file (
. /tmp/hinfo.txt
) the following variables will be added to your postinstall bash shell.$hostname == name of the host (should overwrite existing $hostname) $hostdesc == Description of host $imageosid == Operating System ID (should be the same as $osid) $imagepath == The root path of the image(should also be the image name) $hostusead == 1 or 0 to add host to AD $hostaddomain == host domain name $hostadou == host target ou $hostproductkey == host product key $primaryuser == Value from Primary User field $othertag == Value from OtherTag field $othertag1 == Value from OtherTag1 field $location == Location Name from location plugin $sysman == System Manufacturer from smbios $sysproduct == System Product Name from smbios (from full registration) $sysserial == System Serial Number from smbios (from full registration) $mbman == Motherboard Manufacturer from smbios (from full registration) $mbserial == Motherboard Serial Number from smbios (from full registration) $mbasset == Motherboard Asset tag from smbios (from full registration) $mbproductname == Motherboard Product Name from smbios (from full registration) $caseman == Case Manufacturer from smbios (from full registration) $caseserial == Case Serial Number from smbios (from full registration) $caseasset == Case Asset tag from smbios (from full registration)
From there once you have these bash variables you can use them in your post install script. This document shows you what could be done with a post install script: https://forums.fogproject.org/topic/7740/the-magical-mystical-fog-post-download-script
more precisely you can use the variables with sed to replace settings in your unattend.xml file. Such as changing the computer name to what was collected from the hostinfo.php page.
sed -i -e "s#<ComputerName>\([^<][^<]*\)</ComputerName>#<ComputerName>$hostname</ComputerName>#gi" $unatendfile
-
@george1421 said in problem with hostname.php when i migrate 1.3.4 => 1.3.5.:
@jc35 Now that I’m aware of what you are trying to do, then this post will give you the background: https://forums.fogproject.org/topic/6463/expose-fog-host-and-image-properties-to-post-install-scripts/10
In your fog post install script you need to add this code
. /usr/share/fog/lib/funcs.sh; wget -q -U '' -O /tmp/hinfo.txt "http://<fog_server_IP>/fog/service/hostinfo.php?mac=$mac" . /tmp/hinfo.txt rm -f /tmp/hinfo.txt
Once you stat the hinfo.txt file (
. /tmp/hinfo.txt
) the following variables will be added to your postinstall bash shell.$hostname == name of the host (should overwrite existing $hostname) $hostdesc == Description of host $imageosid == Operating System ID (should be the same as $osid) $imagepath == The root path of the image(should also be the image name) $hostusead == 1 or 0 to add host to AD $hostaddomain == host domain name $hostadou == host target ou $hostproductkey == host product key $primaryuser == Value from Primary User field $othertag == Value from OtherTag field $othertag1 == Value from OtherTag1 field $location == Location Name from location plugin $sysman == System Manufacturer from smbios $sysproduct == System Product Name from smbios (from full registration) $sysserial == System Serial Number from smbios (from full registration) $mbman == Motherboard Manufacturer from smbios (from full registration) $mbserial == Motherboard Serial Number from smbios (from full registration) $mbasset == Motherboard Asset tag from smbios (from full registration) $mbproductname == Motherboard Product Name from smbios (from full registration) $caseman == Case Manufacturer from smbios (from full registration) $caseserial == Case Serial Number from smbios (from full registration) $caseasset == Case Asset tag from smbios (from full registration)
From there once you have these bash variables you can use them in your post install script. This document shows you what could be done with a post install script: https://forums.fogproject.org/topic/7740/the-magical-mystical-fog-post-download-script
more precisely you can use the variables with sed to replace settings in your unattend.xml file. Such as changing the computer name to what was collected from the hostinfo.php page.
sed -i -e "s#<ComputerName>\([^<][^<]*\)</ComputerName>#<ComputerName>$hostname</ComputerName>#gi" $unatendfile
I have try this, it doesn’t work.
I think the problem is database.
We return to 1.3.4.
Thanks you very much for your answer, we try to go to 1.3.5 later. -
@jc35 This function is also in 1.3.x, not specific to 1.3.5.
-
@george1421 I sent you a DM (look at the little talk bubble at the top of the fog tool tray). It explains what has to be done.
-
@george1421
We have return to 1.3.4 and it’s works. We try to duplicate database and with the dev server we try to connect with 1.3.5 to connect to find what’s th problem with database and fog 1.3.5.
our dev server is on 1.3.5sorry for very bad english.
Thanks for your answer. -
@george1421
Okay, I’ll look at that. -
I really believe you just need to change the
wget
command to read as:
hostinfo=$(wget -U '' -qO --post-data="mac=$mac" - "http://${web}service/hostname.php 2>/dev/null)
You could also try:
hostinfo=$(curl -A '' -fkq --data "mac=$mac" "http://${web}service/hostname.php" 2>/dev/null)
-
@Tom-Elliott Hello, I try this, with 1.4.0-RC3, I have the same problem, I think we have a problem with database, but I don’t know how to find this problem.
-
@jc35 I’m running 1.4.0-RC3 on my dev system and when I key in
http://<fog_server_ip>/fog/service/hostname.php?mac=b8ca3ace1d1a
I get:#!ok=b8ca3ace1d1a #AD= #ADDom= #ADOU= #ADUser= #ADPass=
(in my case the host name is the same as the mac address by intent)
The same for wget from my mint laptop
wget -q -O - "http://192.168.112.24/fog/service/hostname.php?mac=b8ca3ace1d1a" #!ok=b8ca3ace1d1a #AD= #ADDom= #ADOU= #ADUser= #ADPass=
I wonder if the variable
${web}
points to something other that what you think.