[virt-tools-list] [PATCH] virt-manager : add support for architecture type "s390x"

Cole Robinson crobinso at redhat.com
Wed Jul 8 14:40:52 UTC 2015


On 07/08/2015 03:45 AM, Kevin Zhao wrote:
> For architecture "s390x",the disk and the network device are based
> on "virtio" bus.The cdrom is based on "scsi".So set the default
> cdrom bus as "scsi",the default bus as "virtio".Also the default
> machine type is set to "s390-ccw-virtio" as it is the only supported
> in "s390x".
> 
> Signed-off-by: Kevin Zhao <kevinzs at linux.vnet.ibm.com>
> ---
>  virtManager/create.py    | 4 ++--
>  virtinst/capabilities.py | 4 ++++
>  virtinst/devicedisk.py   | 3 +++
>  virtinst/guest.py        | 2 ++
>  virtinst/osxml.py        | 3 +++
>  5 files changed, 14 insertions(+), 2 deletions(-)
> 

Changes look fine, but there's some style issues:

$ python setup.py pylint
running pylint
************* Module virtinst.osxml
C: 73, 0: Trailing whitespace (trailing-whitespace)
************* Module virtinst.devicedisk
C:899, 0: Trailing whitespace (trailing-whitespace)
W:901, 0: Bad indentation. Found 16 spaces, expected 12 (bad-indentation)

Also, please add a test case that hits all these changes. Check
tests/clitest.py and add a virt-install --cdrom test. Maybe grep for ppc64 to
find an example. HACKING has some more details about using the test suite

Thanks,
Cole

> diff --git a/virtManager/create.py b/virtManager/create.py
> index 8401a7a..013a089 100644
> --- a/virtManager/create.py
> +++ b/virtManager/create.py
> @@ -409,7 +409,7 @@ class vmmCreate(vmmGObjectUI):
>          can_remote_url = self.conn.get_backend().support_remote_url_install()
>  
>          installable_arch = (self.capsinfo.arch in
> -            ["i686", "x86_64", "ppc64", "ppc64le", "ia64"])
> +            ["i686", "x86_64", "ppc64", "ppc64le", "ia64","s390x"])
>  
>          if self.capsinfo.arch == "aarch64":
>              try:
> @@ -676,7 +676,7 @@ class vmmCreate(vmmGObjectUI):
>              archs.remove("i686")
>          archs.sort()
>  
> -        prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le"]
> +        prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le","s390x"]
>          if self.conn.caps.host.cpu.arch not in prios:
>              prios = []
>          else:
> diff --git a/virtinst/capabilities.py b/virtinst/capabilities.py
> index bed8596..5823da2 100644
> --- a/virtinst/capabilities.py
> +++ b/virtinst/capabilities.py
> @@ -323,6 +323,10 @@ class _CapsInfo(object):
>              if "vexpress-a15" in self.machines:
>                  return "vexpress-a15"
>  
> +        if self.arch in ["s390x"]:
> +            if "s390-ccw-virtio" in self.machines:
> +                return "s390-ccw-virtio"
> +
>          return None
>  
>  
> diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py
> index 6ca76e5..d2b3443 100644
> --- a/virtinst/devicedisk.py
> +++ b/virtinst/devicedisk.py
> @@ -896,6 +896,9 @@ class VirtualDisk(VirtualDevice):
>      def set_defaults(self, guest):
>          if self.is_cdrom():
>              self.read_only = True
> +        
> +        if self.is_cdrom() and guest.os.is_s390x():
> +                self.bus = "scsi"
>  
>          if (guest.os.is_xenpv() and
>              self.type == VirtualDisk.TYPE_FILE and
> diff --git a/virtinst/guest.py b/virtinst/guest.py
> index bf4b70b..c958068 100644
> --- a/virtinst/guest.py
> +++ b/virtinst/guest.py
> @@ -987,6 +987,8 @@ class Guest(XMLBuilder):
>                  d.bus = "sd"
>              elif self.os.is_q35():
>                  d.bus = "sata"
> +            elif self.os.is_s390x():
> +                d.bus = "virtio"
>              else:
>                  d.bus = "ide"
>  
> diff --git a/virtinst/osxml.py b/virtinst/osxml.py
> index 77771bd..7ba20e4 100644
> --- a/virtinst/osxml.py
> +++ b/virtinst/osxml.py
> @@ -70,6 +70,9 @@ class OSXML(XMLBuilder):
>          return self.arch == "ppc64" or self.arch == "ppc64le"
>      def is_pseries(self):
>          return self.is_ppc64() and self.machine == "pseries"
> +    
> +    def is_s390x(self):
> +        return self.arch == "s390x"
>  
>      _XML_ROOT_NAME = "os"
>      _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type",
> 




More information about the virt-tools-list mailing list