Jump to: navigation, search

Difference between revisions of "Main Page/cobbler"

Line 6: Line 6:
 
https://github.com/kimchi-project/kimchi
 
https://github.com/kimchi-project/kimchi
  
参照kimchi的git说明操作
+
follow kimii gi
 
yum install xxxx
 
yum install xxxx
 
./autogen.sh --system
 
./autogen.sh --system
Line 20: Line 20:
 
printf "repo --name=kimchi --baseurl=file:///home/kimchi/kimchi-master/rpm/RPMS/x86_64\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
 
  This work is licensed under a Creative Commons Attribution 3.0 Unported
 
  License.
 
  License.
Line 76: Line 76:
 
-----------------
 
-----------------
 
tag
 
tag
1. Add USB controller object in libvirt driver, create ehci xml in
+
1. Use object 'LibvirtConfigGuestController' for USB controller in libvirt driver,
'get_guest_config' function.
+
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',
 
2. Add 'address' element to USB tablet object 'LibvirtConfigGuestInput',
 
specify ehci controller in 'get_guest_config' function.
 
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
 
REST API impact
Line 130: Line 145:
 
Work Items
 
Work Items
 
----------
 
----------
Step 1: Add USB controller object, create ehci xml in 'get_guest_config' function.
+
Step 1: Create ehci xml in 'get_guest_config' function.
  
 
Step 2: Modify USB tablet object, specify ehci controller for USB tablet
 
Step 2: Modify USB tablet object, specify ehci controller for USB tablet
Line 157: Line 172:
  
 
https://blueprints.launchpad.net/nova/+spec/usb-passthrough
 
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

Revision as of 08:45, 24 April 2014

https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-scsi-driver already support controller

ovirt: https://github.com/oVirt/ovirt-node kimchi https://github.com/kimchi-project/kimchi

follow kimii gi yum install xxxx ./autogen.sh --system make make rpm

autoconf、automake、createrepo、livecd-tools、appliance-tools-minimizer

(1)selinux common-install.ks.in selinux --disabled (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