/opt/fog/snapins disappearing
-
On Ubuntu 14.04, FOG Trunk 6150
If I try to create a snapin without a file associated with it it deletes all the snapin files in my /opt/fog/snapin directory. I noticed that they had been deleted a couple weeks ago but wasn’t sure why. I had just tried to update to the latest trunk that day and assumed it was a bug in the update. But today I just tried to create a snapin without any file association and it took forever to error out and then didn’t create the snap in. I then went to add a file and found that the snapin directory was empty. I restored from a back up and tried again and got the same results.
I have a few commands that I need/want to run and instead of creating a batch file I just figured it was easier to add the commands as snapins. Turns out FOG doesn’t like that. I am fine with having to do a file upload as a batch file instead, but deleting the snapins is not a good result of accidentally forgetting to select a file.
-
I don’t understand.
You have to have a file associated to create the snapin. How is it deleting files that you haven’t uploaded yet?
-
@Tom-Elliott Needing a file is fine, I was just trying it without a file because I just had a single command I wanted to run so I figured why bother with a batch file. What it is doing it deleting all current snapin files in the snapin directory. If I click add and not have a file associated with the new snanin it will delay for a time and then error out. When I go back into my /opt/fog/snapins directory it is empty of files, the folders are still there with the certs but no snapin files.
-
This just happened to us last night. We’re on 6152.
-
@apathetic_admin so the files are only deleting when a new file is uploaded?
-
@Tom-Elliott I’m not sure. I’m about to copy them back over and then upload a new file through the snapin manager. Will report back.
-
I copied my snapin files back over from my old server, and I opened an existing snapin and uploaded a new version and the other snapins files are still there.
I created a new snapin, uploaded a new file, and the other files are still there.
I created a new snapin and selected an existing file and it wiped out all my snapin files.
My guys are saying
“Because after I uploaded the new Chrome, the list of files disappeared and only the one I uploaded was there.
As in, where it says “Snapin File (Exists)” where I can select already uploaded files. It had all the other files listed, then when I made the new spapin and uploaded Chrome, they all vanished, except the new chrome.” -
@ITSolutions said:
If I try to create a snapin without a file associated with it it deletes all the snapin files in my /opt/fog/snapin directory.
Just from programming experience and from how the issue is described by ITSolutions,
Most likely, what’s happening isBefore the web interface uploads the snapin, it deletes any of the same name.
so for my.msi it’d delete /opt/fog/snapins/my.msi
if the file field is blank
it’s probably doing this:
delete /opt/fog/snapins/Just a guess.
-
@Wayne-Workman That makes perfect sense, I hadn’t considered that it might need to delete an existing file before uploading a new file. I think a check in the code to ensure a file is selected before going further would solve this. I am not a PHP or HTML coder at all so unfortunately I wouldn’t be able to help much with this. I can script in windows and a little it Linux but not sure that will do much in this case.
-
@Wayne-Workman I think I found the problem and I’ve made a fix here: https://github.com/FOGProject/fogproject/pull/82/files
Specifically this file:
/var/www/html/fog/lib/pages/snapinmanagementpage.class.php
at line 161You can try it out, but Tom will need to review it and merge for it to be put into the main fog repo.
-
@Wayne-Workman
I made the same change as what you made and now I am gettingFOGFTP: Failed to put file. Remote Path: /opt/fog/snapins/, Local Path: , Error: ftp_put(): Filename cannot be empty
-
@apathetic_admin Are you uploading a file or not?
-
@Wayne-Workman No, just selecting an existing file. This is what caused it to delete all the snapin files before.
-
@apathetic_admin Small change, try this: https://github.com/FOGProject/fogproject/pull/82/files
You’re just basically moving the closing
}
down below the put statement, that way the put never happens either if the filename is blank. -
@Wayne-Workman That seems to have done the trick.
If I select a file to upload, and I select a file that’s already existing, I get the new file uploaded when I update the snapin, but the snapin is configured to use the existing file I selected in the dropdown. That might not be related at all to anything we just did, I just tried it out to see what it’d do.
-
@apathetic_admin Awesome. Now, can someone please take a deep breath and try to create a new snapin without a file ?
-
@Wayne-Workman I was able to add a new snapin without doing anything but putting a name in and selecting the storage node. I suppose that’s okay though, yeah?
-
@apathetic_admin said:
@Wayne-Workman I was able to add a new snapin without doing anything but putting a name in and selecting the storage node. I suppose that’s okay though, yeah?
The real question is were existing snapin files deleted again?
-
@Wayne-Workman I’ve added your code and then I made a bunch of modifications to more appropriately check things.
First, uploaded files – I think – should always supersede the “existing file” chosen. So this is now implemented.
My checks do now verify if the file exists before attempting to delete it. However, most notably, I think, the code will not attempt to even create/edit the source if the snapinfile choices don’t exist (aren’t set). It will ONLY delete the file in the case of the uploaded file, and even then only if the file exists first.
Hopefully this fixes the issues described here and in the other thread.
-
@Tom-Elliott I Just updated my storage node with the latest SVN to fix the Snapin issue and noticed an error at the end.
It did report that it installed everything correctly and seems to be working but the errors I noticed are* Starting FOGScheduler.service Service.......................OK * Starting FOGPingHosts.service Service.......................OK * Setting up exports file.....................................OK * Setting up and starting RPCBind.............................OK * Setting up and starting NFS Server..........................OK sed: -e expression #1, char 76: unknown option to `s' sed: -e expression #1, char 88: unknown option to `s' * Setup complete * You still need to setup this node in the fog management | portal. You will need the username and password listed | below. * Management Server URL:
I thought I would reply here as I thought this might be related to the latest fixes?
Cheers!