Jump to: navigation, search

Difference between revisions of "Main Page/cobbler"

 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-scsi-driver already support controller
+
其他功能
 +
1、使用远程桌面软件直接连接虚拟机
 +
(1)设置虚拟机远程连接协议
 +
模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议
 +
(2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口
 +
(3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机
 +
远程桌面软件地址请参见xxx
  
ovirt:
 
https://github.com/oVirt/ovirt-node
 
kimchi
 
https://github.com/kimchi-project/kimchi
 
  
follow kimii gi
+
D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43
yum install xxxx
+
'modern_update': dict(common_spec, disk_bus='scsi',
./autogen.sh --system
+
                                        nic_model='virtio',
make
+
                              sound_model='ich6')
make rpm
 
  
autoconf、automake、createrepo、livecd-tools、appliance-tools-minimizer
+
if distro in modern_version_bases[arch]:
 +
        if LooseVersion(version) >= LooseVersion(
 +
                modern_version_bases[arch][distro]):
 +
            if arch == 'x86':
 +
                params.update(template_specs[arch]['modern_update'])
 +
            else:
 +
                params.update(template_specs[arch]['modern'])
 +
        else:
 +
            params.update(template_specs[arch]['old'])
  
(1)selinux common-install.ks.in selinux --disabled
+
                                'window': '0'},
(2)recipe/Make.am
 
printf "repo --name=fedora20 --baseurl=http://186.100.8.148/repo/fedora/releases/$(FEDORA)/Everything/${ARCH}/os\n" > repos.ks ;\
 
printf "repo --name=ovirt-node --baseurl=file:///root/rpmbuild/RPMS/noarch\n" >> repos.ks ;\
 
printf "repo --name=kimchi --baseurl=file:///home/kimchi/kimchi-master/rpm/RPMS/x86_64\n" >> repos.ks ;\
 
 
 
...
 
This work is licensed under a Creative Commons Attribution 3.0 Unported
 
License.
 
 
 
http://creativecommons.org/licenses/by/3.0/legalcode
 
 
 
====================================================
 
tag
 
Add support for USB 2.0 controller
 
====================================================
 
 
 
Users have requirements of using USB device, the detailed information can refer
 
to BP in https://blueprints.launchpad.net/nova/+spec/usb-passthrough.
 
 
 
If not specify appropriate USB controller for USB device, USB device will
 
use the default piix3-usb-uhci, which results in some problems.
 
 
 
1. The low speed of USB device.
 
 
 
2. If use spice client to redirect USB device to VM, the mismatched speed may
 
prevent the connection.
 
 
 
 
 
USB 2.0 has other good point that it will result in dramatically lower CPU usage
 
when the USB tablet is present for VNC/SPICE.
 
 
 
As described above, I think that support USB 2.0 controller is valuable in
 
Openstack.
 
 
 
 
 
Problem description
 
===================
 
tag
 
Use cases:
 
 
 
1. User creates a VM, the system creates a default ehci USB controller,  attach
 
USB tablet to the ehci controller.
 
 
 
 
 
Proposed change
 
===============
 
tag
 
1. Add function of create ehci controller in libvirt driver when create
 
VM.
 
 
 
2. Add function of specify USB controller for USB tablet in libvirt driver
 
when create VM.
 
 
 
Alternatives
 
------------
 
 
 
None
 
 
 
Data model impact
 
-----------------
 
tag
 
1. Use object 'LibvirtConfigGuestController' for USB controller in libvirt driver,
 
create ehci xml in 'get_guest_config' function.
 
 
 
The xml may like:
 
 
 
<controller type='usb' index='1' model='ehci'/>
 
 
 
All values of above properties are constant.
 
 
 
2. Add 'address' element to USB tablet object 'LibvirtConfigGuestInput',
 
specify ehci controller in 'get_guest_config' function.
 
 
 
The xml may like:
 
 
 
<input type='tablet' bus='usb'>
 
 
 
<address type='usb' bus='1' port='1'/>
 
 
 
</input>
 
 
 
The values of address are constant.
 
 
 
REST API impact
 
---------------
 
 
 
None
 
 
 
Security impact
 
---------------
 
 
 
None
 
 
 
Notifications impact
 
--------------------
 
 
 
None
 
 
 
Other end user impact
 
---------------------
 
 
 
None
 
 
 
Performance Impact
 
------------------
 
 
 
None
 
 
 
Other deployer impact
 
---------------------
 
 
 
None
 
 
 
Developer impact
 
----------------
 
 
 
None
 
 
 
Implementation
 
==============
 
 
 
Assignee(s)
 
-----------
 
 
 
Primary assignee:
 
  <Jing Yuan>
 
 
 
 
 
Work Items
 
----------
 
Step 1: Create ehci xml in 'get_guest_config' function.
 
 
 
Step 2: Modify USB tablet object, specify ehci controller for USB tablet
 
in 'get_guest_config' function.
 
 
 
Dependencies
 
============
 
 
 
None
 
 
 
 
 
Testing
 
=======
 
 
 
None
 
 
 
 
 
Documentation Impact
 
====================
 
 
 
None
 
 
 
 
 
References
 
==========
 
 
 
https://blueprints.launchpad.net/nova/+spec/usb-passthrough
 
 
 
 
 
..
 
This work is licensed under a Creative Commons Attribution 3.0 Unported
 
License.
 
 
 
http://creativecommons.org/licenses/by/3.0/legalcode
 
 
 
===================================
 
Support function of USB-redirection
 
===================================
 
 
 
We provide VDI(Virtual Desktop)solution for customers, our customers have strong
 
requirements for using USB devices.
 
 
 
The typical use cases and our solutions are described as below:
 
Customers want to use local USB printers or USB scanners with
 
TC(Thin-Client), because remote desktop protocol like ICA have already supported
 
USB-redirection, so customers only need to attach USB device to TC, the protocol
 
can map USB device to VM.
 
 
 
 
 
Problem description
 
===================
 
tag
 
 
 
Use cases 1:
 
 
 
A end user wants to print some documents in cloud environments, him perform the
 
following steps:
 
 
 
1. Create a VM with virtual USB-redirection devices.
 
 
 
2. Use TC with spice client to connect to VM, insert USB printer to TC, select
 
printer to redirect to VM in GUI of spice client.
 
 
 
3. User can see printer in VM and use printer to print documents.
 
 
 
Use cases 2:
 
 
 
A end user wants to take a video chat with friends in cloud environments, him
 
perform the following steps:
 
 
 
1. Create a VM with virtual USB-redirection devices.
 
 
 
2. Use TC with spice client to connect to VM, insert USB camera to TC, select
 
camera to redirect to VM in GUI of spice client.
 
 
 
3. User can see camera in VM and take video chat with friends.
 
 
 
Use cases 3:
 
 
 
A end user wants a on-line shopping, which needs a USB-key for more secure payment.
 
 
 
1. Create a VM with virtual USB-redirection devices.
 
 
 
2. Use TC with spice client to connect to VM, insert USB-key to TC, select
 
USB-key to redirect to VM in GUI of spice client.
 
 
 
3. User can see USB-key in VM, the security check and payment plugin in
 
Browser like IE can use USB-key for authentication.
 
 
 
 
 
Proposed change
 
===============
 
tag
 
 
 
1. Add function of create USB-redirection device in libvirt driver.
 
 
 
2. Support specify USB-redirection device in image properties and create VM
 
with this kind of image. If libvirt driver find this kind of property it then
 
construct related xml.
 
 
 
Alternatives
 
------------
 
 
 
None
 
 
 
Data model impact
 
-----------------
 
tag
 
 
 
1. Add USB-redirection device data object in libvirt driver, the libvirt xml may
 
like:
 
 
 
<redirdev bus='usb' type='spicevmc'>
 
 
 
<address type='usb' bus='1' port='2'/>
 
 
 
</redirdev>
 
 
 
All values of above properties are constant. The USB-redirection device use port
 
2 of echi controller. BTW: The BP about echi controller can refer to
 
https://review.openstack.org/#/c/88334/
 
 
 
2. Use key-value to specify USB-redirection device in image, the command may like:
 
 
 
glance image-update img1 --property redirection_devices="{'bus': usb, 'type': 'spicevmc'}"
 
 
 
REST API impact
 
---------------
 
 
 
None
 
 
 
Security impact
 
---------------
 
 
 
None
 
 
 
Notifications impact
 
--------------------
 
 
 
None
 
 
 
Other end user impact
 
---------------------
 
 
 
None
 
 
 
 
 
Performance Impact
 
------------------
 
 
 
None
 
 
 
 
 
Other deployer impact
 
---------------------
 
 
 
None
 
 
 
 
 
Developer impact
 
----------------
 
 
 
None
 
 
 
Implementation
 
==============
 
 
 
Assignee(s)
 
-----------
 
 
 
Primary assignee:
 
  <Jing Yuan>
 
 
 
 
 
Work Items
 
----------
 
Step 1: Add object of USB-redirection device in libvirt driver.
 
 
 
Step 2: Create VM with image which contains property of USB-redirection device.
 
 
 
Dependencies
 
============
 
 
 
None
 
 
 
 
 
Testing
 
=======
 
 
 
None
 
 
 
 
 
Documentation Impact
 
====================
 
 
 
It is necessary to add doc for how to use this new function.
 
 
 
 
 
References
 
==========
 
 
 
None
 

Latest revision as of 11:18, 21 October 2014

其他功能 1、使用远程桌面软件直接连接虚拟机 (1)设置虚拟机远程连接协议 模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议 (2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口 (3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机 远程桌面软件地址请参见xxx


D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43 'modern_update': dict(common_spec, disk_bus='scsi',

                                        nic_model='virtio',
                             sound_model='ich6')

if distro in modern_version_bases[arch]:

       if LooseVersion(version) >= LooseVersion(
               modern_version_bases[arch][distro]):
           if arch == 'x86':
               params.update(template_specs[arch]['modern_update'])
           else:
               params.update(template_specs[arch]['modern'])
       else:
           params.update(template_specs[arch]['old'])
                               'window': '0'},