(initial development of feature page) |
No edit summary |
||
Line 28: | Line 28: | ||
* Targeted release: [[Releases/16 | Fedora 16 ]] | * Targeted release: [[Releases/16 | Fedora 16 ]] | ||
* Last updated: (May 26, 2011) | * Last updated: (May 26, 2011) | ||
* Percentage of completion: | * Percentage of completion: 75% | ||
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | <!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | ||
Line 34: | Line 34: | ||
== Detailed Description == | == Detailed Description == | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | ||
The software provides a | The software provides a user interface shell called pcloudsh which provides: | ||
Create a | * Create deployables including: | ||
Launch deployable | * Create a JEOS image of F14, F15, F16, RHEL6 | ||
Kill/restart applications if failure detected. | * Create an assembly of F14, F15, F16, RHEL6 | ||
Kill | * Add assemblies to a deployable | ||
* Add managed resources to an assembly | |||
* Launch a deployable, including all of its assembly images | |||
* Provides user interface feedback when an application or assembly fails and describe which corrective actions are taken. | |||
The software provides daemons and init scripts which provide the high availability of the deployables configured in the system: | |||
* Kill/restart applications if a failure is detected. | |||
* Kill and restart assemblies if an assembly failure is detected. | |||
== Benefit to Fedora == | == Benefit to Fedora == | ||
<!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?--> | <!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?--> | ||
This | This feature provides a preview of high availability for cloud environments using a building block that is reusable in other cloud management systems. This feature provides only single node deployable high availability, but for F17 we plan to integrate with other distributed cloud management tools such as Aeolus. | ||
== Scope == | == Scope == | ||
<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
This is a standalone package but has several dependencies on other parts of Fedora 16. | This is a standalone package but has several dependencies on other parts of Fedora 16. We are in good shape relatng to dependencies, however, systemd is not LSB compliant currently resulting in our software not being able to provide high availability for F15 or Rawhide guests. | ||
We are nearing code completion for the single node case and have some basic packaging done. | |||
== How To Test == | == How To Test == | ||
yum install pacemaker-cloud | |||
chkconfig pacemaker-cloud on | |||
service pacemaker-cloud start | |||
We have a test suite that can be run which provides automated validation the software functions properly. | |||
Manually the following operations can be done: | |||
root# pcloudsh | |||
pcloudsh# jeos_create F14 x86_64 | |||
pcloudsh# assembly_create assy1 F14 x86_64 | |||
pcloudsh# assembly_clone assy1 assy2 | |||
pcloudsh# assembly_clone assy1 assy3 | |||
pcloudsh# assembly_resource_add httpd httpd assy1 | |||
pcloudsh# assembly_resource_add httpd httpd assy2 | |||
pcloudsh# assembly_resource_add httpd httpd assy3 | |||
pcloudsh# deployable_create dep1 | |||
pcloudsh# deployable_assembly_add dep1 assy1 | |||
pcloudsh# deployable_assembly_add dep1 assy2 | |||
pcloudsh# deployable_assembly_add dep1 assy3 | |||
pcloudsh# deployable_start dep1 | |||
Keep pcloudsh running and in another shell: | |||
* verify application restart works properly: | |||
* login to one of the assemblies and killall -9 httpd | |||
* verify that httpd is restarted via pacemaker-cloud | |||
* verify deployable restart works properly: | |||
* Open the virtual machine manager GUI | |||
* Use the force off functionality on an assembly | |||
* The virtual machine manager should display that the assembly is restarted | |||
* Login to the restarted virtual machine and verify httpd was restarted properly | |||
== User Experience == | == User Experience == | ||
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | <!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | ||
The audience will notice a shell with comands which can be used to create and launch deployables. | |||
== Dependencies == | == Dependencies == | ||
Line 72: | Line 100: | ||
libxml2 | libxml2 | ||
libqb | libqb | ||
pacemaker-libs | pacemaker-libs and its many dependencies | ||
qmf | qmf | ||
libxslt | libxslt | ||
qpid-cpp-server | |||
qpid-cpp-client | |||
python-qpid-qmf | |||
Needs packaging in Fedora rawhide: | Needs packaging in Fedora rawhide: | ||
oz | oz (currently under review) | ||
Dependency with broken functionality: | |||
systemd - systemd guests don't work properly because systemd is not LSB compliant. F14 and RHEL6 guests will work properly, but without bug fixing in systemd, F15 and F16 are nonfunctional. | |||
== Contingency Plan == | == Contingency Plan == | ||
Line 92: | Line 126: | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | ||
* | * | ||
The fact that systemd guests are non-funtional with regards to this feature may need release notes. | |||
== Comments and Discussion == | == Comments and Discussion == |
Revision as of 17:06, 4 July 2011
pacemaker-cloud
Summary
The pacemaker-cloud project demonstrates the current community work in providing application service high availability in a cloud environment.
Owner
- Name: Steven Dake
- Email: <sdake@redhat.com>
Current status
- Targeted release: Fedora 16
- Last updated: (May 26, 2011)
- Percentage of completion: 75%
Detailed Description
The software provides a user interface shell called pcloudsh which provides:
- Create deployables including:
* Create a JEOS image of F14, F15, F16, RHEL6 * Create an assembly of F14, F15, F16, RHEL6 * Add assemblies to a deployable * Add managed resources to an assembly * Launch a deployable, including all of its assembly images * Provides user interface feedback when an application or assembly fails and describe which corrective actions are taken.
The software provides daemons and init scripts which provide the high availability of the deployables configured in the system:
- Kill/restart applications if a failure is detected.
- Kill and restart assemblies if an assembly failure is detected.
Benefit to Fedora
This feature provides a preview of high availability for cloud environments using a building block that is reusable in other cloud management systems. This feature provides only single node deployable high availability, but for F17 we plan to integrate with other distributed cloud management tools such as Aeolus.
Scope
This is a standalone package but has several dependencies on other parts of Fedora 16. We are in good shape relatng to dependencies, however, systemd is not LSB compliant currently resulting in our software not being able to provide high availability for F15 or Rawhide guests.
We are nearing code completion for the single node case and have some basic packaging done.
How To Test
yum install pacemaker-cloud chkconfig pacemaker-cloud on service pacemaker-cloud start
We have a test suite that can be run which provides automated validation the software functions properly.
Manually the following operations can be done: root# pcloudsh pcloudsh# jeos_create F14 x86_64 pcloudsh# assembly_create assy1 F14 x86_64 pcloudsh# assembly_clone assy1 assy2 pcloudsh# assembly_clone assy1 assy3 pcloudsh# assembly_resource_add httpd httpd assy1 pcloudsh# assembly_resource_add httpd httpd assy2 pcloudsh# assembly_resource_add httpd httpd assy3 pcloudsh# deployable_create dep1 pcloudsh# deployable_assembly_add dep1 assy1 pcloudsh# deployable_assembly_add dep1 assy2 pcloudsh# deployable_assembly_add dep1 assy3 pcloudsh# deployable_start dep1
Keep pcloudsh running and in another shell:
- verify application restart works properly:
* login to one of the assemblies and killall -9 httpd * verify that httpd is restarted via pacemaker-cloud
- verify deployable restart works properly:
* Open the virtual machine manager GUI * Use the force off functionality on an assembly * The virtual machine manager should display that the assembly is restarted * Login to the restarted virtual machine and verify httpd was restarted properly
User Experience
The audience will notice a shell with comands which can be used to create and launch deployables.
Dependencies
Previously packaged in Fedora rawhide: glib2 dbus-glib libxml2 libqb pacemaker-libs and its many dependencies qmf libxslt qpid-cpp-server qpid-cpp-client python-qpid-qmf
Needs packaging in Fedora rawhide: oz (currently under review)
Dependency with broken functionality: systemd - systemd guests don't work properly because systemd is not LSB compliant. F14 and RHEL6 guests will work properly, but without bug fixing in systemd, F15 and F16 are nonfunctional.
Contingency Plan
If this feature is not ready by deadline, it can moved to a later Fedora version.
Documentation
https://github.com/pacemaker-cloud/pacemaker-cloud
Release Notes
The fact that systemd guests are non-funtional with regards to this feature may need release notes.