Hi,
I am installing Fedora 20 to my servers using PXE boot + Kickstart mechanisms, so that it is fully automatic. It works well.
However, there is one basic problem I cannot solve - How do I follow the installation progress?
Here is the issue: sometimes the installation is fast, sometimes it is slow, and sometimes it dies in the middle (e.g., the repository, which is remote, becomes unavailable).
Currently I have a simple time-out solution. If the installation does not finish within 45 minutes, I assume that it failed. My scripts just wait for a '/tmp/post-finished' file to be created, and I create it from the '%post' section of the KS file.
Instead, what I would like to do, is to follow the package installation log. Like the one that I see in VGA:
Installing package A Installing package B ....
But the problem is that this log is not available anywhere but the VGA display. I googled around, people mention some install.log file, but it does not exist in my case.
I also saw that there is an option to make anaconda send log message to a remote syslog, but this would not be a good solution for me.
I'd really prefer anaconda to log to a file (and flush the stream), and let me follow the log.
Is this possible, any suggestions?
Thanks in advance!
On Thu, 2014-05-29 at 09:06 +0300, Artem Bityutskiy wrote:
Hi,
I am installing Fedora 20 to my servers using PXE boot + Kickstart mechanisms, so that it is fully automatic. It works well.
However, there is one basic problem I cannot solve - How do I follow the installation progress?
Here is the issue: sometimes the installation is fast, sometimes it is slow, and sometimes it dies in the middle (e.g., the repository, which is remote, becomes unavailable).
Currently I have a simple time-out solution. If the installation does not finish within 45 minutes, I assume that it failed. My scripts just wait for a '/tmp/post-finished' file to be created, and I create it from the '%post' section of the KS file.
Instead, what I would like to do, is to follow the package installation log. Like the one that I see in VGA:
Installing package A Installing package B ....
But the problem is that this log is not available anywhere but the VGA display. I googled around, people mention some install.log file, but it does not exist in my case.
I also saw that there is an option to make anaconda send log message to a remote syslog, but this would not be a good solution for me.
I'd really prefer anaconda to log to a file (and flush the stream), and let me follow the log.
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
On Thu, 2014-05-29 at 10:10 +0200, Vratislav Podzimek wrote:
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
Hi Vratislav,
thanks for answering. I start the ssh daemon and log into the installing while it is in progress.
What you say would be great if it was the case for me. But it is not, unfortunately.
I did carefully search for the install progress information, grepped the entire file-system, including /tmp and /tmp/sysimage - found noting.
And yes, I did check /tmp/packaging.log, of course. I did think it would contain the same as I see on the VGA display, but it doesn't. All it contains is:
01:35:24,463 INFO packaging: 295 packages selected totalling 1.17 GB 01:35:24,564 INFO packaging: Running anaconda-yum to install packages 01:36:15,293 INFO packaging: running transaction
And that's it. The next message is when all packages are installed. Nothing in between.
Hmm, I found out that anaconda is using tmux, and I wonder if I could make it log the entire tmux stuff to a file. Then I can monitor this file from my scripts...
On Thu, 2014-05-29 at 11:40 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 10:10 +0200, Vratislav Podzimek wrote:
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
Hi Vratislav,
thanks for answering. I start the ssh daemon and log into the installing while it is in progress.
What you say would be great if it was the case for me. But it is not, unfortunately.
I did carefully search for the install progress information, grepped the entire file-system, including /tmp and /tmp/sysimage - found noting.
And yes, I did check /tmp/packaging.log, of course. I did think it would contain the same as I see on the VGA display, but it doesn't. All it contains is:
01:35:24,463 INFO packaging: 295 packages selected totalling 1.17 GB 01:35:24,564 INFO packaging: Running anaconda-yum to install packages 01:36:15,293 INFO packaging: running transaction
And that's it. The next message is when all packages are installed. Nothing in between.
Oh, right. now I see it too. I was confused by the fact that it prints all the packages it has installed, but it looks like it does this only once the transaction finished (as can be seen from the log file timestamps). I'll see what can be done about this.
Hmm, I found out that anaconda is using tmux, and I wonder if I could make it log the entire tmux stuff to a file. Then I can monitor this file from my scripts...
On Thu, 2014-05-29 at 12:40 +0200, Martin Kolman wrote:
On Thu, 2014-05-29 at 11:40 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 10:10 +0200, Vratislav Podzimek wrote:
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
Hi Vratislav,
thanks for answering. I start the ssh daemon and log into the installing while it is in progress.
What you say would be great if it was the case for me. But it is not, unfortunately.
I did carefully search for the install progress information, grepped the entire file-system, including /tmp and /tmp/sysimage - found noting.
And yes, I did check /tmp/packaging.log, of course. I did think it would contain the same as I see on the VGA display, but it doesn't. All it contains is:
01:35:24,463 INFO packaging: 295 packages selected totalling 1.17 GB 01:35:24,564 INFO packaging: Running anaconda-yum to install packages 01:36:15,293 INFO packaging: running transaction
And that's it. The next message is when all packages are installed. Nothing in between.
Oh, right. now I see it too. I was confused by the fact that it prints all the packages it has installed, but it looks like it does this only once the transaction finished (as can be seen from the log file timestamps). I'll see what can be done about this.
Thanks for replies. I'd need some more specific directions if you want me to file a bug or 'RFE', like a specific URL.
Related question, did you ever try to log the entire tmux stream of messages to a file? I do not even know if it is possible, but have a feeling that it is.
It would be extremely useful to have something like /tmp/display.log which would contain all the text mode display output.
Would that make sense?
On Thu, 2014-05-29 at 14:42 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 12:40 +0200, Martin Kolman wrote:
On Thu, 2014-05-29 at 11:40 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 10:10 +0200, Vratislav Podzimek wrote:
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
Hi Vratislav,
thanks for answering. I start the ssh daemon and log into the installing while it is in progress.
What you say would be great if it was the case for me. But it is not, unfortunately.
I did carefully search for the install progress information, grepped the entire file-system, including /tmp and /tmp/sysimage - found noting.
And yes, I did check /tmp/packaging.log, of course. I did think it would contain the same as I see on the VGA display, but it doesn't. All it contains is:
01:35:24,463 INFO packaging: 295 packages selected totalling 1.17 GB 01:35:24,564 INFO packaging: Running anaconda-yum to install packages 01:36:15,293 INFO packaging: running transaction
And that's it. The next message is when all packages are installed. Nothing in between.
Oh, right. now I see it too. I was confused by the fact that it prints all the packages it has installed, but it looks like it does this only once the transaction finished (as can be seen from the log file timestamps). I'll see what can be done about this.
Thanks for replies. I'd need some more specific directions if you want me to file a bug or 'RFE', like a specific URL.
Related question, did you ever try to log the entire tmux stream of messages to a file? I do not even know if it is possible, but have a feeling that it is.
It would be extremely useful to have something like /tmp/display.log which would contain all the text mode display output.
Would that make sense?
OK, here is the solusion I came up with, just in case someone googles for a similar problem and hits this this thread.
1. Establish SSH connection to the machine running anaconda installer 2. Run the following command: tmux pipe-pane -o -t anaconda 'exec cat >> /tmp/display.log' 3. Watch the /tmp/display.log file - it will "mirror" your text mode display.
I find this solution to be quite good. Indeed, when I think about this, looking to the display output is something more reliable than looking to a log file. Simply because it is easy for developer to randomly change log file names and contents depending on the mood. But when it comes to the display, developers are usually more careful, and they assume there is a human in front of it, so they tend to print reasonable information there.
Now, if you guys think this makes sense, you can just add this or a similar line to the '/usr/share/anaconda/tmux.conf' file, and that's it, you provided your users a copy of the display, which is very handy.
What do you think?
Thanks!
On Thu, 2014-05-29 at 15:56 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 14:42 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 12:40 +0200, Martin Kolman wrote:
On Thu, 2014-05-29 at 11:40 +0300, Artem Bityutskiy wrote:
On Thu, 2014-05-29 at 10:10 +0200, Vratislav Podzimek wrote:
Is this possible, any suggestions?
/tmp/packaging.log is the file you want to track. You'd need to ignore the debugging information at the top, but the information about "so far installed" packages appears there during the installation process.
Hi Vratislav,
thanks for answering. I start the ssh daemon and log into the installing while it is in progress.
What you say would be great if it was the case for me. But it is not, unfortunately.
I did carefully search for the install progress information, grepped the entire file-system, including /tmp and /tmp/sysimage - found noting.
And yes, I did check /tmp/packaging.log, of course. I did think it would contain the same as I see on the VGA display, but it doesn't. All it contains is:
01:35:24,463 INFO packaging: 295 packages selected totalling 1.17 GB 01:35:24,564 INFO packaging: Running anaconda-yum to install packages 01:36:15,293 INFO packaging: running transaction
And that's it. The next message is when all packages are installed. Nothing in between.
Oh, right. now I see it too. I was confused by the fact that it prints all the packages it has installed, but it looks like it does this only once the transaction finished (as can be seen from the log file timestamps). I'll see what can be done about this.
Thanks for replies. I'd need some more specific directions if you want me to file a bug or 'RFE', like a specific URL.
Related question, did you ever try to log the entire tmux stream of messages to a file? I do not even know if it is possible, but have a feeling that it is.
It would be extremely useful to have something like /tmp/display.log which would contain all the text mode display output.
Would that make sense?
OK, here is the solusion I came up with, just in case someone googles for a similar problem and hits this this thread.
- Establish SSH connection to the machine running anaconda installer
- Run the following command: tmux pipe-pane -o -t anaconda 'exec cat >> /tmp/display.log'
- Watch the /tmp/display.log file - it will "mirror" your text mode
display.
I find this solution to be quite good. Indeed, when I think about this, looking to the display output is something more reliable than looking to a log file. Simply because it is easy for developer to randomly change log file names and contents depending on the mood. But when it comes to the display, developers are usually more careful, and they assume there is a human in front of it, so they tend to print reasonable information there.
Now, if you guys think this makes sense, you can just add this or a similar line to the '/usr/share/anaconda/tmux.conf' file, and that's it, you provided your users a copy of the display, which is very handy.
What do you think?
I think GREAT IDEA! Thanks a lot for the investigation. I'm definitely for adding such log at least when the debug boot option is used or maybe for all TUI installations.
And just to let you know -- bugs nad RFEs may be filed in the https://bugzilla.redhat.com Bugzilla instance.
Thanks!
Has there been any discussion about switching more of anaconda logging to use the systemd journal? I think it'd be clearly better than /tmp/program.log for example.
The journal isn't great for high-output stuff like the packaging log, but for say installation progress, we could output periodic progress messages instead of package-by-package detail.
On Fri, 2014-05-30 at 04:43 -0700, Colin Walters wrote:
Has there been any discussion about switching more of anaconda logging to use the systemd journal? I think it'd be clearly better than /tmp/program.log for example.
The journal isn't great for high-output stuff like the packaging log, but for say installation progress, we could output periodic progress messages instead of package-by-package detail.
Well, I am not aware, I am very new to the whole installation tools business.
But as a user, I can say that for my purposes, I prefer a single source of messages, rather than many of them. Indeed, how may /tmp/*.log files do we have? At least these are the interesting ones: program.log, anaconda.log, storage.log, packages.log.
The journal idea sounds like a step in the "single source" direction.
anaconda-devel@lists.stg.fedoraproject.org