[ClusterLabs] Strange behavior every time I set VirtualDomain attribute

Andrew Beekhof andrew at beekhof.net
Mon Aug 3 21:49:08 EDT 2015


> On 4 Aug 2015, at 11:32 am, Digimer <lists at alteeve.ca> wrote:
> 
> On 03/08/15 09:29 PM, Andrew Beekhof wrote:
>> 
>>> On 26 Jun 2015, at 8:03 pm, Milos Buncic <htchak19 at gmail.com> wrote:
>>> 
>>> Ok solution is 
>>> 
>>> pcs resource unmanage testvm1
>> 
>> Right, because when you change the resource definition pacemaker restarts the service so the new values take effect
> 
> Is there a way to disable this behavior globally?

No.  You can mark some items as only requiring a reload though.

> I sometimes change XML
> definition files with intentions to reboot/apply the changes later.
> Would be something of an "oh crap" if it triggered a reboot of the guest.
> 
>>> pcs resource update testvm1 migration_transport=ssh
>>> pcs resource cleanup testvm1
>>> pcs resource manage testvm1
>>> 
>>> Cheers 
>>> 
>>> On Thu, Jun 25, 2015 at 11:03 PM, Milos Buncic <htchak19 at gmail.com> wrote:
>>> Hi there,
>>> 
>>> Every time I run (CentOS 6.6)
>>> 
>>> pcs resource update testvm1 migration_transport=ssh 
>>> or
>>> pcs resource update testvm1 migration_transport=
>>> 
>>> or when I try to set any VirtualDomain parameter, graceful shutdown is initiated! 
>>> 
>>> Jun 25 21:59:56 node1 VirtualDomain(testvm1)[10876]: INFO: Issuing graceful shutdown request for domain testvm1.
>>> 
>>> Can someone please explain me why this is happening?
>>> 
>>> I'm using VirtualDomain resource agent downloaded from github
>>> https://github.com/ClusterLabs/resource-agents/blob/master/heartbeat/VirtualDomain
>>> 
>>> 
>>> VirtualDomain_Stop() {
>>>        local i
>>>        local status
>>>        local shutdown_timeout
>>>        local needshutdown=1
>>> 
>>>        VirtualDomain_Status
>>>        status=$?
>>> 
>>>        case $status in
>>>                $OCF_SUCCESS)
>>>                        if ocf_is_true $OCF_RESKEY_force_stop; then
>>>                                # if force stop, don't bother attempting graceful shutdown.
>>>                                force_stop
>>>                                return $?
>>>                        fi
>>> 
>>>                        ocf_log info "Issuing graceful shutdown request for domain ${DOMAIN_NAME}."
>>> 
>>>                        if [ -n "$OCF_RESKEY_snapshot" ]; then
>>>                                virsh save $DOMAIN_NAME "$OCF_RESKEY_snapshot/${DOMAIN_NAME}.state"
>>>                                if [ $? -eq 0 ]; then
>>>                                        needshutdown=0
>>>                                else
>>>                                        ocf_log error "Failed to save snapshot state of ${DOMAIN_NAME} on stop"
>>>                                fi
>>>                        fi
>>> 
>>>                        # save config if needed
>>>                        if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
>>>                                save_config
>>>                        fi
>>> 
>>>                        # issue the shutdown if save state didn't shutdown for us
>>>                        if [ $needshutdown -eq 1 ]; then
>>>                                # Issue a graceful shutdown request
>>>                                virsh $VIRSH_OPTIONS shutdown ${DOMAIN_NAME}
>>>                        fi
>>> 
>>>                        # The "shutdown_timeout" we use here is the operation
>>>                        # timeout specified in the CIB, minus 5 seconds
>>>                        shutdown_timeout=$(( $NOW + ($OCF_RESKEY_CRM_meta_timeout/1000) -5 ))
>>>                        # Loop on status until we reach $shutdown_timeout
>>>                        while [ $NOW -lt $shutdown_timeout ]; do
>>>                                VirtualDomain_Status
>>>                                status=$?
>>>                                case $status in
>>>                                        $OCF_NOT_RUNNING)
>>>                                                # This was a graceful shutdown.
>>>                                                return $OCF_SUCCESS
>>>                                        ;;
>>>                                        $OCF_SUCCESS)
>>>                                                # Domain is still running, keep
>>>                                                # waiting (until shutdown_timeout
>>>                                                # expires)
>>>                                                sleep 1
>>>                                                ;;
>>>                                        *)
>>>                                                # Something went wrong. Bail out and
>>>                                                # resort to forced stop (destroy).
>>>                                                break;
>>>                                esac
>>>                                NOW=$(date +%s)
>>>                        done
>>>                        ;;
>>>                $OCF_NOT_RUNNING)
>>>                        ocf_log info "Domain $DOMAIN_NAME already stopped."
>>>                        return $OCF_SUCCESS
>>>        esac
>>> 
>>>        # OK. Now if the above graceful shutdown hasn't worked, kill
>>>        # off the domain with destroy. If that too does not work,
>>>        # have the LRM time us out.
>>>        force_stop
>>> }
>>> 
>>> 
>>> Thanks 
>>> 
>>> _______________________________________________
>>> Users mailing list: Users at clusterlabs.org
>>> http://clusterlabs.org/mailman/listinfo/users
>>> 
>>> Project Home: http://www.clusterlabs.org
>>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>> Bugs: http://bugs.clusterlabs.org
>> 
>> 
>> _______________________________________________
>> Users mailing list: Users at clusterlabs.org
>> http://clusterlabs.org/mailman/listinfo/users
>> 
>> Project Home: http://www.clusterlabs.org
>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>> Bugs: http://bugs.clusterlabs.org
>> 
> 
> 
> -- 
> Digimer
> Papers and Projects: https://alteeve.ca/w/
> What if the cure for cancer is trapped in the mind of a person without
> access to education?
> 
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org





More information about the Users mailing list