| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Changes to the execWith* methods removed the ability to handle a string
as stdin/out/err. Change the callers to first open where they want
output to be sent to and pass that instead.
Only stdout is needed because _run_program combines stdout and stderr,
pass stderr through but ignore it.
Also clean up a couple places that were passing strings that don't need
to.
|
|
|
|
|
|
|
|
| |
'ksdata.addons' makes more sense than 'ksdata.addon' since it is a root
of the tree where addons live.
ADDON_PATHS are needed in sys.path so that imports in addons' sources
work.
|
| |
|
|
|
|
|
|
|
|
| |
We've got this shiny new method selection UI but if you want to use it, you've
first got to sit through the delay of fetching metadata for the closest mirror
which might be completely wrong for you. Thus, this parameter will skip the
default action. Entering and leaving the source spoke will unset this
parameter.
|
|
|
|
|
|
|
|
|
|
| |
This disables the storage spoke and installs to /mnt/sysimage without
mounting any filesystems. If something is already mounted on
/mnt/sysimage it leaves it untouched.
This can be useful for utilities like livemedia-creator which will mount
a filesystem image on the directory and then run anaconda to install to
it.
|
| |
|
|
|
|
|
| |
logind now starts a getty on tty6. We could just let it pick a free vt,
but there's a small chance that could interfere with our logging to ttyX
|
| |
|
| |
|
|
|
|
| |
Merge baseudev into storage.udev.
|
|
|
|
|
|
|
|
|
|
|
| |
Remove platform's use of bootloader in preparation for moving platform
into storage, since that's the only code that uses it.
Move some logging initialization code in network.py into a function so
it does not run automatically on import.
Add some code to storage to control whether or not it is being used by
anaconda versus as a normal python module/library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first pass at setting things up to split storage out into
a separate package.
It replaces the guts of iutil.execWithRedirect and iutil.execWithCapture
with a single backend function, _run_program. The main thing I can think
of that might be cause for complaint is that _run_program does not log
each output line as the external program outputs it, so you get the whole
output buffer at once. Storage gets its own copy of _run_program and
all of the calls in storage use the copy from storage.util.
The reason I moved all of the iutil arch functions into storage is that
they are mostly used in storage and I didn't want there to be two copies
of the whole set.
The rest is removing of unused things and moving of things only used by
storage into storage.
|
| |
|
|
|
|
|
| |
We should call sys.exit when we get SIGTERM, so that our exitHandler
get's called.
|
| |
|
| |
|
|
|
|
|
|
|
| |
There is no use doing these initialization actions in a separate thread,
so let's play safe (races with UI, e.g when setting initial hostname value
as in #902090) and do only waiting for dhcp (for payload initialization)
asynchronously.
|
|
|
|
| |
python-meh now has a text UI we could use.
|
| |
|
| |
|
|
|
|
| |
collect_addon_paths is defined in the pyanaconda.addons module.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cases I tested:
(spoke is pre-hub network spoke)
Link has (slow) dhcp:
- connected in payload init, connected in spoke
- not connected in payload init, connected in spoke
- fixed by the patch
- not connected in payload init, not connected in spoke
- subcases: - wait for connection in spoke
- leave spoke while connecting
- fixed by the patch
Link does not have dhcp:
- configure static connection and leave spoke
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
There may be cases when we don't get exit code. Especially in those
nonstandard cases we should honor the 'nokill' flag and don't reboot
the machine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to set VConsole keymap and X layouts separately. We may
get them all from kickstart, but if not, we have to convert the
given one to the missing one and save the configuration. If X11
configuration is written before the server is started, it is
loaded. This way we can get rid of using XklWrapper in main anaconda
script.
Also we need to write one more configuration file. And it's better
to try to write all configuration files ignoring errors and in case
some error(s) appeared, raise exception at the end of the procedure.
Resolves: rhbz#853877
Resolves: rhbz#856362
Resolves: rhbz#859867
|
|
|
|
|
|
| |
This keeps the ugly hack going, but it keeps us from crashing on the
s390 case where anaconda gets launched twice (once to prompt for ssh,
once inside tmux to do the actual install).
|
|
|
|
|
|
| |
If anaconda is launched /inside/ tmux, the TMUX variable will be
present. This is the anaconda we want to attach to, so don't prompt for
ssh here.
|
|
|
|
| |
iutil wants the whole string, including the nfs: part.
|
|
|
|
|
|
| |
Moves the checks that were in the VNC question out to the prep for the
VNC question. We don't get a simple true/false out of the question
anymore.
|
| |
|
|
|
|
|
| |
Now that we have a spoke to handle the UI, set things up to prompt the
user once again.
|
|
|
|
|
|
|
| |
cmdline mode means do not prompt for missing kickstart data. We need a
way to expose this setting to the interface, so create a flag for it.
"cmdline" cannot be used because that already exists as a flag, so
"ksprompt" is created as a bool. Defaults to true.
|
| |
|
|
|
|
|
|
|
|
| |
Instead of adding command line option throwing exception in one place
of the code, let's use SIGURS1 as signal for raising exception in anaconda.
This way, it is possible to raise exception in different phases of the
installation and we can add code to prepare worst case scenario testing
as much resolved bugs in exception handling as possible.
|
|
|
|
| |
It doesn't make sense and causes hang.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
liveinst:
use /dev/mapper/live-osimg-min as the install source. This is the original
filesystem before changes made by the live boot scripts.
updates overwrite unconditionally
anaconda:
handle livecd: method, set method to 'livecd' and partition to the path.
packaging:
Move new-kernel-pkg creation into a helper method, _recreateInitrds
Add a flag to prevent running new-kernel-pkg more than once
livepayload:
mount the install source on INSTALL_TREE and rsync it to the ROOT_PATH
Don't use verbose with rsync, results in huge program.log and slows
down install. Error will be logged.
Ignore rsync errors. It has problems with selinux xattrs. Log the
return value, but continue.
Call _recreateInitrds to create the initrd (#853988)
|
| |
|
|
|
|
|
|
| |
The new option, which can be a boot arg or an option to kickstart's
packages section, is --multilib. What it does is set yum's
multilib_policy to "all". The default is "best".
|
|
|
|
|
|
|
| |
We were doing reboots before because there was not an obvious reboot/shutdown
button anywhere in the live environment. However, that is no longer the case.
I've left the end of installation as reboot because it's clearly labeled as
such and we shouldn't break the string now.
|
|
|
|
|
|
| |
isys.vtActivate is problematic when using tmux, chvt command works
well and we use it so rarely that it should be okay to call an
external command.
|
|
|
|
|
| |
We now use ksdata and execute methods for storing and writing
configuration.
|
|
|
|
|
|
|
|
|
|
| |
If we try to setup the python path before /tmp/updates/ exists, the path
will get thrown out and won't be used even if that path will get created
at some point later. So just re-order things.
This is ugly, and shouls only live for the F18 Alpha. After that we
should be using /run/install/updates directly and thus the path can be
set there early.
|
| |
|
|
|
|
|
|
|
| |
/tmp is tmpfs and is created at boot time, so we cannot unpack our
updates there in dracut as they will be lost. Instead unpack them to
/run/initramfs/inst.{updates,product} and create a symlink when anaconda
starts so that it can continue to look for content there.
|