Difference between revisions of "Main Page/cobbler"
Line 6: | Line 6: | ||
https://github.com/kimchi-project/kimchi | https://github.com/kimchi-project/kimchi | ||
− | + | 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. | + | 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: | + | 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
Contents
========================================
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