Product SiteDocumentation Site

F.2.2. Upgrade the Configuration

As XML is not the friendliest of languages, it is common for cluster administrators to have scripted some of their activities. In such cases, it is likely that those scripts will not work with the new 1.0 syntax.
In order to support such environments, it is actually possible to continue using the old 0.6 syntax.
The downside is, however, that not all the new features will be available and there is a performance impact since the cluster must do a non-persistent configuration upgrade before each transition. So while using the old syntax is possible, it is not advisable to continue using it indefinitely.
Even if you wish to continue using the old syntax, it is advisable to follow the upgrade procedure to ensure that the cluster is able to use your existing configuration (since it will perform much the same task internally).
  1. Create a shadow copy to work with
    # crm_shadow --create upgrade06
  2. Verify the configuration is valid
    # crm_verify --live-check
  3. Fix any errors or warnings
  4. Perform the upgrade:
    # cibadmin --upgrade
  5. If this step fails, there are three main possibilities:
    1. The configuration was not valid to start with - go back to step 2
    2. The transformation failed - report a bug or email the project
    3. The transformation was successful but produced an invalid result [22]
      If the result of the transformation is invalid, you may see a number of errors from the validation library. If these are not helpful, visit http://clusterlabs.org/wiki/Validation_FAQ and/or try the procedure described below under Section F.2.3, “Manually Upgrading the Configuration”
  6. Check the changes
    # crm_shadow --diff
    If at this point there is anything about the upgrade that you wish to fine-tune (for example, to change some of the automatic IDs) now is the time to do so. Since the shadow configuration is not in use by the cluster, it is safe to edit the file manually:
    # crm_shadow --edit
    This will open the configuration in your favorite editor (whichever is specified by the standard $EDITOR environment variable)
  7. Preview how the cluster will react
    Test what the cluster will do when you upload the new configuration
    # crm_simulate --live-check --save-dotfile upgrade06.dot -S
    # graphviz upgrade06.dot
    Verify that either no resource actions will occur or that you are happy with any that are scheduled. If the output contains actions you do not expect (possibly due to changes to the score calculations), you may need to make further manual changes. See Section 2.7, “Testing Your Configuration Changes” for further details on how to interpret the output of crm_simulate
  8. Upload the changes
    # crm_shadow --commit upgrade06 --force
If this step fails, something really strange has occurred. You should report a bug.


[22] The most common reason is ID values being repeated or invalid. Pacemaker 1.0 is much stricter regarding this type of validation.