[anaconda] Make anaconda changes necessary for libblockdev s390 plugin.
Vratislav Podzimek
vpodzime at redhat.com
Tue May 19 11:45:35 UTC 2015
On Mon, 2015-05-18 at 15:10 -0400, Samantha N. Bueno wrote:
> ---
> pyanaconda/anaconda.py | 10 ++++++++++
> pyanaconda/ui/gui/spokes/advstorage/dasd.py | 9 +++++----
> pyanaconda/ui/gui/spokes/advstorage/zfcp.py | 12 +++++++-----
> pyanaconda/ui/gui/spokes/lib/dasdfmt.py | 11 +++++------
> pyanaconda/ui/gui/spokes/storage.py | 12 ++++++------
> pyanaconda/ui/tui/spokes/storage.py | 17 +++++++++--------
> 6 files changed, 42 insertions(+), 29 deletions(-)
>
> diff --git a/pyanaconda/anaconda.py b/pyanaconda/anaconda.py
> index cb4138d..896aae7 100644
> --- a/pyanaconda/anaconda.py
> +++ b/pyanaconda/anaconda.py
> @@ -167,11 +167,21 @@ class Anaconda(object):
> def storage(self):
> if not self._storage:
> import blivet
> + import blivet.arch
> + from gi.repository import BlockDev as blockdev
> self._storage = blivet.Blivet(ksdata=self.ksdata)
>
> if self.instClass.defaultFS:
> self._storage.setDefaultFSType(self.instClass.defaultFS)
>
> + if blivet.arch.isS390():
> + # want to make sure s390 plugin is loaded
> + if "s390" not in blockdev.get_available_plugin_names():
> + plugin = blockdev.PluginSpec()
> + plugin.name = blockdev.Plugin.S390
> + plugin.so_name = None
> + blockdev.reinit([plugin], reload=False)
> +
> return self._storage
>
> def dumpState(self):
> diff --git a/pyanaconda/ui/gui/spokes/advstorage/dasd.py b/pyanaconda/ui/gui/spokes/advstorage/dasd.py
> index 88e1a01..61fe5e5 100644
> --- a/pyanaconda/ui/gui/spokes/advstorage/dasd.py
> +++ b/pyanaconda/ui/gui/spokes/advstorage/dasd.py
> @@ -21,6 +21,7 @@
>
> from pyanaconda.ui.gui import GUIObject
> from pyanaconda.ui.gui.utils import gtk_action_nowait
> +from gi.repository import BlockDev as blockdev
>
> from blivet.devicelibs.dasd import sanitize_dasd_dev_input, online_dasd
>
> @@ -83,7 +84,7 @@ class DASDDialog(GUIObject):
> self._conditionNotebook.set_current_page(1)
>
> try:
> - device = sanitize_dasd_dev_input(self._deviceEntry.get_text())
> + device = blockdev.s390.sanitize_dev_input(self._deviceEntry.get_text())
> except ValueError as e:
> _config_error = str(e)
> self.builder.get_object("deviceErrorLabel").set_text(_config_error)
> @@ -126,8 +127,8 @@ class DASDDialog(GUIObject):
> """
> # attempt to add the device
> try:
> - online_dasd(device)
> + blockdev.s390.dasd_online(device)
> self._update_devicetree = True
> - except ValueError as e:
> - self._discoveryError = str(e)
> + except blockdev.S390Error as err:
> + self._discoveryError = str(err)
> return
> diff --git a/pyanaconda/ui/gui/spokes/advstorage/zfcp.py b/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
> index 0674b1f..3dfc9a5 100644
> --- a/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
> +++ b/pyanaconda/ui/gui/spokes/advstorage/zfcp.py
> @@ -21,6 +21,8 @@
>
> from pyanaconda.ui.gui import GUIObject
> from pyanaconda.ui.gui.utils import gtk_action_nowait
> +from gi.repository import BlockDev as blockdev
> +from gi.repository import GLib
No longer need to import GLib as the exceptions are caught as
BlockDev.S390Error instances.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list