diff --git a/README.markdown b/README.markdown index 4393897a7c..e627bfe05c 100644 --- a/README.markdown +++ b/README.markdown @@ -1,79 +1,80 @@ # Pacemaker ## What is Pacemaker? Pacemaker is an advanced, scalable High-Availability cluster resource manager for Linux-HA (Heartbeat) and/or Corosync. It supports "n-node" clusters with significant capabilities for managing resources and dependencies. It will run scripts at initialization, when machines go up or down, when related resources fail and can be configured to periodically check resource health. ## For more information look at: * [Website](http://www.clusterlabs.org) * [Issues/Bugs](http://bugs.clusterlabs.org) * [Mailing list](http://oss.clusterlabs.org/mailman/listinfo/pacemaker). * [Documentation](http://www.clusterlabs.org/doc) ## Important information about the _crm shell_ Since late-April, the _crm shell_ is no longer included in the Pacemaker source tree. This change was made at the author's request as it is now maintained as a separate project at https://savannah.nongnu.org/projects/crmsh/ ## Build Dependencies * automake * autoconf * libtool-ltdl-devel * pkgconfig * python * glib2-devel -* cluster-glue-libs-devel * libxml2-devel * libxslt-devel * python-devel * gcc-c++ * bzip2-devel * gnutls-devel * pam-devel ## Cluster Stack Dependencies (Pick at least one) * clusterlib-devel (CMAN) * corosynclib-devel (Corosync) * heartbeat-devel (Heartbeat) ## Optional Build Dependencies * ncurses-devel * openssl-devel * libselinux-devel -* docbook-style-xsl (documentation) +* cluster-glue-libs-devel (LHA style fencing agents) * libesmtp-devel (Email alerts) * lm_sensors-devel (SNMP alerts) * net-snmp-devel (SNMP alerts) * asciidoc (documentation) * help2man (documentation) * publican (documentation) * inkscape (documentation) +* docbook-style-xsl (documentation) ## Source Control (GIT) git clone git://github.com/ClusterLabs/pacemaker.git [See Github](https://github.com/ClusterLabs/pacemaker) ## Installing from source $ ./autogen.sh $ ./configure $ make $ sudo make install ## How you can help If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project. * Test and report issues. +* Tick something off our [todo list](https://github.com/ClusterLabs/pacemaker/blob/master/TODO.markdown) * Help others on the [mailing list](http://oss.clusterlabs.org/mailman/listinfo/pacemaker). * Contribute documentation, examples and test cases. * Contribute patches. * Spread the word. diff --git a/TODO.markdown b/TODO.markdown index 404e0e942c..3ccf6f2273 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -1,60 +1,60 @@ # Semi-random collection of tasks we'd like to get done ## Targeted for 1.2 - Get fencing/test.c working again (with and without stonithd -s) - Avoid the use of xmlNode in fencing register_callback() call types - Need a way to indicate when unfencing operations need to be initiated from the host to be unfenced - -- Figure out how to sanely allow nodes with corosync but no pacemaker - - require symetric-cluster=false -- Arrange for nodes that didnt complete the join to be fenced +- Test startup fencing with node lists + - Figure out how to distinguish between "down" and "down + but we've never seen them before so they need to be shot" +- Attempt to obtain a node list from corosync if one exists - Remove instance numbers from anonymous clones ## Targeted for 1.2.x - Check for uppercase letters in node names, warn if found - Imply startup-failure-is-fatal from on-fail="restart" - Show an english version of the config with crm_resource --rules - Convert cts/CIB.py into a supported Python API for the CIB - Use crm_log_tag() in the PE to allow per-resource trace logging - Reduce the amount of stonith-ng logging - Reduce the amount of attrd logging - Use dlopen for snmp in crm_mon - ## Targeted for 1.4 - Support A colocated with (B || C || D) - Implement a truely atomic version of attrd - Support rolling average values in attrd - Support heartbeat with the mcp - Freeze/Thaw - Create Pacemaker plugin for snmpd - http://www.net-snmp.org/ - Investigate using a DB as the back-end for the CIB - Decide whether to fully support or drop failover domains # Testing - Write a regression test for Stonith-NG - Convert BandwidthTest CTS test into a Scenario wrapper - find_operations() is not covered by PE regression tests - Some node states in determine_online_status_fencing() are untested by PE regression tests - no_quorum_policy==suicide is not covered by PE regression tests - parse_xml_duration() is not covered by PE regression tests - phase_of_the_moon() is not covered by PE regression tests - test_role_expression() is not covered by PE regression tests - native_parameter() is not covered by PE regression tests - clone_resource_state() is not covered by PE regression tests - clone_active() is not covered by PE regression tests - convert_non_atomic_task() in native.c is not covered by PE regression tests - clone_rsc_colocation_lh() is not covered by PE regression tests - group_rsc_colocation_lh() is not covered by PE regression tests - Test on-fail=standby # Documentation - Clusters from Scratch: Mail - Clusters from Scratch: MySQL - Document reload in Pacemaker Explained +- Document advanced fencing logic in Pacemaker Explained - Use ann:defaultValue="..." instead of in the schema more often - Allow Clusters from Scratch to be built in two flavors - pcs and crm shell