I committed a slightly modified version using 'vga:qlx' instead of 'spice:1'

> -----Original Message-----
> From: [email protected] [mailto:pve-devel-
> [email protected]] On Behalf Of Alexandre Derumier
> Sent: Freitag, 21. Juni 2013 10:32
> To: [email protected]
> Subject: [pve-devel] [PATCH 2/2] add spice support to qemu
> 
> add new option : spice: 1
> 
> this enable spice (currently without tls on socket), and force vga=qxl
> 
> Signed-off-by: Alexandre Derumier <[email protected]>
> ---
>  PVE/QemuServer.pm |   34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d2b942f..25f163d
> 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -332,6 +332,12 @@ EODESC
>       type => 'boolean',
>       description => "Freeze CPU at startup (use 'c' monitor command to start
> execution).",
>      },
> +    spice => {
> +     optional => 1,
> +     type => 'boolean',
> +     description => "Enable/disable Spice Console.",
> +     default => 1,
> +    },
>      vga => {
>       optional => 1,
>       type => 'string',
> @@ -2349,6 +2355,8 @@ sub config_to_command {
>       }
>      }
> 
> +    $vga = 'qxl' if $conf->{spice};
> +
>      push @$cmd, '-vga', $vga if $vga; # for kvm 77 and later
> 
>      # time drift fix
> @@ -2414,6 +2422,26 @@ sub config_to_command {
>       push @$devices, '-device',
> 'virtserialport,chardev=qga0,name=org.qemu.guest_agent.0';
>      }
> 
> +    if($conf->{spice}){
> +         my $pciaddr = print_pci_addr("spice", $bridges);
> +
> +         #tls support
> +
> +            my $x509 = "x509-key-file=/etc/pve/local/pve-ssl.key";
> +            $x509 .= ",x509-cert-file=/etc/pve/local/pve-ssl.pem";
> +            $x509 .= ",x509-cacert-file=/etc/pve/pve-root-ca.pem";
> +
> +         #push @$cmd, '-spice',"port=60100,tls-port=60101,disable-
> ticketing,$x509,tls-ciphers=DES-CBC3-SHA";
> +         #push @$cmd,
> +'-spice',"unix=$socket,$x509,tls-ciphers=DES-CBC3-SHA";
> +
> +         my $socket = spice_socket($vmid);
> +
> +            push @$cmd, '-spice',"disable-ticketing,unix=$socket";
> +            push @$cmd, '-device',"virtio-serial,id=spice$pciaddr";
> +            push @$cmd, '-chardev',"spicevmc,id=vdagent,name=vdagent";
> +            push @$cmd, '-
> device',"virtserialport,chardev=vdagent,name=com.redhat.spice.0";
> +    }
> +
>      # enable balloon by default, unless explicitly disabled
>      if (!defined($conf->{balloon}) || $conf->{balloon}) {
>       $pciaddr = print_pci_addr("balloon0", $bridges); @@ -2537,6 +2565,11
> @@ sub vnc_socket {
>      return "${var_run_tmpdir}/$vmid.vnc";  }
> 
> +sub spice_socket {
> +    my ($vmid) = @_;
> +    return "${var_run_tmpdir}/$vmid.spice"; }
> +
>  sub qmp_socket {
>      my ($vmid) = @_;
>      return "${var_run_tmpdir}/$vmid.qmp"; @@ -3405,6 +3438,7 @@ sub
> print_pci_addr {
>       scsihw1 => { bus => 0, addr => 6 },
>       ahci0 => { bus => 0, addr => 7 },
>       qga0 => { bus => 0, addr => 8 },
> +     spice => { bus => 0, addr => 9 },
>       virtio0 => { bus => 0, addr => 10 },
>       virtio1 => { bus => 0, addr => 11 },
>       virtio2 => { bus => 0, addr => 12 },
> --
> 1.7.10.4
> 
> _______________________________________________
> pve-devel mailing list
> [email protected]
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


_______________________________________________
pve-devel mailing list
[email protected]
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to