Difficult to be sure that a package install has ended
The Package Installer screen has a scrolling text box that shows the progress of the package installation. Various steps along the way will say:
So it is difficult to know if there is a "done" displayed, if that is the last "done" and it is really all finished.
The title above that text box continues to say "Beginning package installation".
On 2.2.* that title was a box and the text content would change to things like:
- Package deleted.
- Installation of Notes completed.
It would be good to have some positive feedback when the package install process has really finished.
#1 Updated by Phillip Davis over 4 years ago
Also when you remove a package, the title of the text box says "Beginning package installation" - that is a bit dumb, but I think it did that in 2.2.* also. It should say "Beginning package removal".
At the end of package removal there is some text output that says "Package deleted" - in places like that the word "deleted" could be changed to "removed" to match the button text that the user pushed originally.
#2 Updated by Steve Beaver over 4 years ago
- Status changed from New to Confirmed
- Assignee set to Phillip Davis
The package manager is a WIP. I am converting it to a system that starts the installation process in the background and then monitors it via AJAX to get the status and progress. It will be another couple of days before it is ready for testing.
#5 Updated by Steve Beaver over 4 years ago
- File pkg_install.gif added
- Status changed from Confirmed to Assigned
- The installer is run in the background so that the GUI remains responsive
- The GUI polls for status/progress via AJAX
- The progress bar works correctly, obtaining its information from the installer JSON output
- The exit status of each step is indicated by "Success" or "Failure" in the text window
- A banner is displayed showing "Wait", "Success" and "failed" (paraphrasing). The background color is changed to match the message.
- Handle page reloads and catch some of the less obvious errors.
- Combine the pfSense-upgrade and pfSense-upgrade-GUI.sh scripts
- Add some gettext()-s where needed
#6 Updated by Steve Beaver over 4 years ago
- Status changed from Assigned to Feedback
- Assignee changed from Steve Beaver to Phillip Davis
The package installer now shows a color coded completion banner, "real time" log data and a progress bar.
The progress bar is of limited use at them moment since some packages (pfBlockerNG is an example) run for close to a minute, but only output progress information during the 1st second. Perhaps this can be improved too.
#8 Updated by Phillip Davis over 4 years ago
See pull request https://github.com/pfsense/pfsense/pull/1965 for a couple of changes to tidy up a few bits of text.
Works nicely, thanks.
Note that "reinstallall" is not working - should I raise another redmine report for that? Or is it already a known part of WIP?
#13 Updated by Steve Beaver over 4 years ago
reinstallall functionality restored and tested.
Please note that the progress bar is suppressed during this operation. It is not really possible to know in advance how many steps are required, so it would jump about in a nonsensical manner. The textarea tells all and the status banner information is accurate.
#14 Updated by Phillip Davis over 4 years ago
I did reinstall all on a system with Cron and OpenVPN Client Export Utility installed. The reinstall completed very quickly and the text area has just the word "Success".
Is it supposed to be that quiet?
I tried editing /usr/local/www/packages/cron/cron.php - just put some rubbish text in comments. Then do package reinstall all. The edited version of cron.php was still there. I expected that the reinstall would overwrite all the files supplied by the package with the proper package versions.
What is really supposed to happen?
I did an individual reinstall of Cron package. cron.php went back to the original code as I expected.
#15 Updated by Steve Beaver over 4 years ago
No. You should see the logs from the uninstall and install processes for each package. I tested with a VM and with real hardware but perhaps there is some timing issue. I'll try it on a few more. platforms and with the same packages you tested with.
Would you mind taking a look in /tmp/webgui-log.txt please? That should contain the logs.
#17 Updated by Steve Beaver over 4 years ago
Never mind the logs.
There were two issues specific to pfSense-pkg-openvpn-client-export:
My "Does the string begin with pfSense-pkg-" trick was crude and failed on all of the '-' in this package name, and once installed you cannot access the functionality because a required PHP function has been removed.
I have fixed the former (you should see more sensible re-install all output now) and have sent a note to Renato about the latter.
Thanks again for all of you testing. It really helps :)
#19 Updated by Phillip Davis over 4 years ago
General install, remove, reinstall and reinstall all seems good now. I just tried all the combinations on:
built on Mon Oct 26 19:32:58 CDT 2015
The functionality works and the messages along the way are consistent with what is happening. IMHO this is resolved.