{"id":212,"date":"2011-01-17T07:57:51","date_gmt":"2011-01-17T13:57:51","guid":{"rendered":"http:\/\/www.unifiedcomputingblog.com\/?p=212"},"modified":"2011-01-17T07:57:51","modified_gmt":"2011-01-17T13:57:51","slug":"ucsm-1-4-maintenance-policies-and-schedules","status":"publish","type":"post","link":"http:\/\/www.unifiedcomputingblog.com\/?p=212","title":{"rendered":"UCSM 1.4 : Maintenance Policies and Schedules"},"content":{"rendered":"<p>Strange as it may seem with all of the great new features in UCSM 1.4, this is one of my favorites.<\/p>\n<p>To understand the impact, first look at the way disruptive changes were handled prior to this release.\u00a0\u00a0 When changing a configuration setting on a service profile, updating service profile template, or many policies, if the change would cause a disruption to running service profiles (i.e. requiring a reboot), you had two options : yes, or no.\u00a0 When modifying a single profile, this wasn&#8217;t a big issue.\u00a0 You could simply change the configuration when you were also ready to accommodate a reboot of that particular profile.\u00a0\u00a0 Where it became troublesome was when you wanted to modify an updating service profile or policy that affected many service profiles &#8211; your choice was really only to reboot them all simultaneously, or modify each individually.\u00a0\u00a0 Obviously for large deployments using templates and policies (the real strength of UCS), this wasn&#8217;t ideal.<\/p>\n<p>With UCSM 1.4, we now have the concept of a Maintenance Policy.\u00a0\u00a0 The screenshot below is taken from the Servers tab:<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.54.09-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-222\" title=\"New Maintenance Policy Options\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.54.09-AM1.png\" alt=\"\" width=\"252\" height=\"212\" \/><\/a><\/p>\n<p>Creating a Maintenance Policy allows the administrator to define the manner in which a service profile (or template) should behave when disruptive changes are applied.\u00a0\u00a0 First, there&#8217;s the old way:<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.55.18-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-221\" title=\"Create Maintenance Policy \/ Immediate\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.55.18-AM1.png\" alt=\"\" width=\"468\" height=\"235\" \/><\/a><\/p>\n<p>A policy of &#8220;Immediate&#8221; means that when a disruptive change is made, the affected service profiles are immediately rebooted without confirmation.\u00a0\u00a0 A normal &#8220;soft&#8221; reboot occurs, whereby a standard ACPI power-button press is sent to the physical compute node &#8211; assuming that the operating system traps for this, the OS should gracefully shut down and the node will reboot.<\/p>\n<p>A much safer option is to use the &#8220;user-ack&#8221; policy option:<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.56.06-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-220\" title=\"Create Maintenance Policy \/ Acknowledged\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.56.06-AM1.png\" alt=\"\" width=\"467\" height=\"235\" \/><\/a><\/p>\n<p>When this option is selected, disruptive changes are staged to each affected service profile, but the profile is not immediately rebooted.\u00a0\u00a0 Instead, each profile will show the pending changes in its status field, and will wait for the administrator to manually acknowledge the changes when it is acceptable to reboot the node.<\/p>\n<p>The most interesting new option is the is the &#8220;timer-automatic&#8221; setting.\u00a0\u00a0 This setting allows the maintenance policy to reference another new object, the Schedule.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.57.18-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-219\" title=\"Create Maintenance Policy \/ Scheduled\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-6.57.18-AM1.png\" alt=\"\" width=\"469\" height=\"258\" \/><\/a><\/p>\n<p>Schedules allow you to define one-time or reoccurring time periods where one or more of the affected nodes may be rebooted without administrator intervention.\u00a0 Note that the Schedules top-level object is located within the Servers tab:<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.06.59-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-218\" title=\"New Schedules Option\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.06.59-AM1.png\" alt=\"\" width=\"271\" height=\"177\" \/><\/a><\/p>\n<p>The only schedule created automatically by UCSM is the &#8220;default&#8221; schedule, which has one recurring entry to reboot all service profiles that reference a &#8220;timed-automatic&#8221; maintenance policy associated with the &#8220;default&#8221; schedule each day at midnight.\u00a0\u00a0 This &#8220;default&#8221; schedule can be modified, of course.<\/p>\n<p>Creating a user-defined schedule provides the ability to control when &#8211; and how many &#8211; profiles are rebooted to apply disruptive changes.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.08.01-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-216\" title=\"Create Schedule\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.08.01-AM1.png\" alt=\"\" width=\"670\" height=\"257\" \/><\/a><\/p>\n<p>The One Time Occurrence option sets a single date and time when this schedule will be in effect.\u00a0 For example, if you wanted all affected profiles to be rebooted on January 18th at midnight, you could create an entry such as the following.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.09.16-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-215\" title=\"Select Date and Time for One Time Occurence\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.09.16-AM1.png\" alt=\"\" width=\"383\" height=\"339\" \/><\/a><\/p>\n<p>Once the date and time have been selected, the other options for the occurrence can be selected.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.09.32-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-214\" title=\"Create One Time Occurence\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.09.32-AM1.png\" alt=\"\" width=\"393\" height=\"292\" \/><\/a><\/p>\n<p>Max Duration specifies how long this occurrence can run.\u00a0\u00a0 Based on the other options selected below it, it is possible that all service profiles may not be able to be rebooted in the time allotted.\u00a0\u00a0 If this is the case, changes to those profiles will not take effect.<\/p>\n<p>Max Number Of Tasks specifies how many total profiles could be rebooted  by this occurrence.<\/p>\n<p>Max Number Of Concurrent Tasks controls how many profiles can be rebooted simultaneously.\u00a0\u00a0 If, for example, this schedule will be used on a large cluster of service profiles where workload can be sustained even while 5 nodes are unavailable, set this value to 5 and the reboots will occur in groups of that size.<\/p>\n<p>Minimum Internal Between Tasks allows you to set a delay between each reboot.\u00a0 This can be set to ensure that each node rebooted is given time to fully boot before the next node is taken down.<\/p>\n<p>The Recurring Occurrence option provides for the creation of a schedule that will run every day, or on a specific day, to apply disruptive changes.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.10.42-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-213\" title=\"Create a Recurring Occurence\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.10.42-AM1.png\" alt=\"\" width=\"402\" height=\"402\" \/><\/a><\/p>\n<p>This option has the same per-task options as the previous example.<\/p>\n<p>Once you have created your maintenance policy and schedule (if necessary), the service profile or service profile template must reference the maintenance policy in order for it to have any effect.\u00a0 After selecting your service profile or template, the Actions window has an option to Change Maintenance Policy.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.49.14-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-228\" title=\"Change Maintenance Policy\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.49.14-AM1.png\" alt=\"\" width=\"271\" height=\"387\" \/><\/a><\/p>\n<p>You may then select the Maintenance Policy you wish to use, or create a new one.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.44.24-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-225\" title=\"Change Maintenance Policy\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.44.24-AM1.png\" alt=\"\" width=\"529\" height=\"292\" \/><\/a><\/p>\n<p>The service profile properties will now show that a maintenance policy has been selected.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.43.54-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-227\" title=\"Service Profile Properties\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.43.54-AM1.png\" alt=\"\" width=\"670\" height=\"427\" \/><\/a><\/p>\n<p>In this example, a policy requiring user acknowledgement has been chosen.\u00a0\u00a0 Now if any disruptive changes are made, the service profile will not reset until manually acknowledged by an administrator.\u00a0\u00a0 Any time profiles are awaiting acknowledgement, a warning &#8220;Pending Activities&#8221; will be shown on the UCSM status bar.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.45.37-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-223\" title=\"Pending Changes Status Bar\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.45.37-AM1.png\" alt=\"\" width=\"466\" height=\"109\" \/><\/a><\/p>\n<p>Within the profile properties, a description of the pending changes will be displayed along with the &#8220;Reboot Now&#8221; option.<\/p>\n<p><a href=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.45.27-AM1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-224\" title=\"Pending Changes Service Profile Properties\" src=\"http:\/\/66.147.244.178\/~unifief1\/wp-content\/uploads\/2011\/01\/Screen-shot-2011-01-17-at-7.45.27-AM1.png\" alt=\"\" width=\"529\" height=\"237\" \/><\/a><\/p>\n<p>I hope this description of the new maintenance policies and schedules options was helpful.\u00a0 I&#8217;m very excited by all the new features rolling into UCS &#8211; it was a great system before, and it&#8217;s only getting better!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Strange as it may seem with all of the great new features in UCSM 1.4, this is one of my favorites. To understand the impact, first look at the way disruptive changes were handled prior to this release.\u00a0\u00a0 When changing a configuration setting on a service profile, updating service profile template, or many policies, if &hellip; <a href=\"http:\/\/www.unifiedcomputingblog.com\/?p=212\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">UCSM 1.4 : Maintenance Policies and Schedules<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7,8],"tags":[9,35,42,43,44,55],"class_list":["post-212","post","type-post","status-publish","format-standard","hentry","category-ucs-hardware","category-ucs-management","tag-1-4","tag-maintenance","tag-policy","tag-profile","tag-reboot","tag-ucsm"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=\/wp\/v2\/posts\/212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=212"}],"version-history":[{"count":0,"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=\/wp\/v2\/posts\/212\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.unifiedcomputingblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}