Process tracking and notifications
Implement a mechanism that carries a message from slow processes (such as yum transactions and NethServer events) to the web client.The message can represent:
- the task progress %
- the process exit code
- informational messages
Export PTRACK_SOCKETPATH environment variable. Refs #2029
The ptrack wrapper opens a listening socket on the given path. To run
ptrack unprivileged, this variable must be passed to child processes
by sudo command.
nethserver yum plugin renamed nethserver-events. Refs #2029
Avoids ptrack namespace conflicts during plugin loading.
JS client: Try to repeat a failed request, if possible. Refs #2029
FIXME: this must be done only for GET requests!
The request can be repeated if the connection fails, or if the
response is temporary (404).
Track progress with ptrack socket. Refs #2029
Changed PackageManager UI module button labels. Check task exit codes
to see if any event has failed.
Handle error conditions from HTTP status codes. Refs #2029
Automatic retry is attempted only for GET requests.
Renamed nethserver_events plugin. Refs #2029
Plugin file name must be conforming to PEP-8. This allows to import it
as any other module.
Reload PackageManager Packages. Refs #2029
When Yum transaction ends Packages view must be refreshed.
Split status code by Status and Signal field. Refs #2029
This changes the format of the syslog line, by adding a "Signal" or an
"ExitCode" field if status is non-zero.
The Status field is unchanged.
Fixed RPM transaction progress calculation. Refs #2029
Added an "Initialization" task that covers dependencies resolution.
read_package_list(): consider any package containing an "-update" event. Refs #2029
The 'nethserver' prefix is no longer required in a package name: the
package list contains any package with an event named after
Fix esmith::templates::processTemplate() return value. Refs #2029
The return value was undefined with a missing output file.
Download task enhancements. Refs #2029
To balance tasks weight, the Download task is skipped for remove
actions. Also give a weight to each package download, based on
effective package size.
#4 Updated by Davide Principi about 6 years ago
- Status changed from ON_DEV to MODIFIED
- Assignee deleted (
- % Done changed from 30 to 60
- The Perl
- The following actions:
pkgactioncommand, a Yum cli wrapper that installs/removes packages
- The PackageManager UI module
- Possibly any other UI module starting "background" processes, through exec or signalEvent. In other words any UI module relying on
- Added Initial Task progress tracking wiki page.
- Added RPM dependency
nethserver-yum => nethserver-lib
#5 Updated by Davide Principi about 6 years ago
- Status changed from MODIFIED to ON_QA
- % Done changed from 60 to 70
No specific test case is provided. As indicated in note-4, PackageManager UI module and other affected parts must not alter their behaviour.
nethserver-yum-1.1.1-3.0gitf91750fd.ns6.noarch.rpm nethserver-base-1.4.3-2.0gitb80f09e5.ns6.noarch.rpm nethserver-nethgui-1.2.4-7.0git23606255.ns6.noarch.rpm
#7 Updated by Davide Principi about 6 years ago
- Status changed from ON_QA to TRIAGED
- % Done changed from 70 to 20
system-adjust action is still working. It imports
/usr/lib/yum-plugins, but the plugin was renamed!
$ rpm -qf /etc/e-smith/events/actions/system-adjust nethserver-base-1.4.3-1.ns6.noarch $ cat /etc/e-smith/events/actions/system-adjust #!/bin/env /usr/bin/python import sys sys.path.append('/usr/lib/yum-plugins') import nethserver nethserver.reconfigure_all_packages() nethserver.adjust_all_services() [davidep@nethservice ~]$
#22 Updated by Giacomo Sanchietti almost 6 years ago
- Status changed from ON_QA to VERIFIED
- % Done changed from 70 to 90
- progress of rpm downloading
- progress of rpm transactions
- progress of events
- an error occurs during yum transaction: the messages is displayed inside the UI. Example:
Message from the install process: Errors were encountered while downloading packages. nethserver-ejabberd-1.0.2-1.ns6.noarch: [ ... ]: [Errno 256] No more mirrors to try.
- an error occurs during events: a general message is displayed inside the UI, for further information you need to open
Marking as VERIFIED.
#23 Updated by Davide Principi almost 6 years ago
- Status changed from VERIFIED to CLOSED
- Assignee deleted (
- % Done changed from 90 to 100