Migrated from http://devel.opensaf.org/ticket/2114.
when saAmfCompDisableRestart is set to SA_TRUE for the component, it is set successfully but with error in syslog.
Sep 27 12:32:42 SLES11-SLOT-1 osafamfnd[3273]: avnd_comp_oper_req: Unsupported attribute 0
Sep 27 12:32:42 SLES11-SLOT-1 osafamfd[3263]: Operation request FAILED, sender 2010f, 'safComp=comp1,safSu=1,safSg=2N,safApp=App'
when restart is invoked on the component, operation returns ERR_NOT_SUPPORTED.
Sep 27 12:32:53 SLES11-SLOT-1 osafamfd[3263]: Component Restart disabled 'safComp=comp1,safSu=1,safSg=2N,safApp=App'
when saAmfCompDisableRestart is set, component should go through all presence states instead of restarting presence state ( sec 9.4.7 , page NO: 383 )
Spec sections related to component restart admin operation:
1)3.2.2.1 Presence State:
A component is restarted by the Availability Management Framework in the context of
error recovery and repair actions (for details, see Section 3.11) or in the context of a
restart administrative operation (for details, see Section 9.4.7). Restarting a component
means first terminating it and then instantiating it again (see Section 3.11.1.2).
Two different actions shall be undertaken by the Availability Management Framework
regarding the component service instances assigned to a component when the component
restart is needed:
• Keep the component service instances assigned to the component while the
component is restarted. This action is typically performed when it is faster to
restart the component than to reassign the component service instances to
another component. In this case, the presence state of the component is set to
restarting while the component is being terminated and until it is instantiated
again (or a failure occurs). Internally, in this particular scenario, the Availability
Management Framework withdraws and reassigns exactly the same HA state on
behalf of all component service instances to the component as was assigned to
the component for various component service instances before the restart procedure,
without evaluating the various criteria that the Availability Management
Framework would normally assess before making such an assignment.
• Reassign the component service instances currently assigned to the component
to another component before terminating/instantiating the component. In this
case, the presence state of the component is not set to restarting but transitions
through the other presence state values (typically in the absence of failures: terminating,
uninstantiated, instantiating, and then instantiated) as the component
is terminated and instantiated again.
The choice between these two policies is based on the
saAmfCompDisableRestart configuration attribute of each component (see the
SaAmfComp object class in Section 8.13.2).
2)9.4.7 SA_AMF_ADMIN_RESTART:
When this operation is invoked upon a particular instantiated component of a service
unit, the other components of the service unit are not affected by this operation, that
is, they are not restarted
So, if user invokes "restart" on a instantiated component then there are two cases:
1)saAmfCompDisableRestart=false: In this case, restarting presence state for the component will be observed. Also if the components has assignments, after restart same assignments will be reassigned.
2)AmfCompDisableRestart=true: In this case, there will be reassignments of the CSIs assigned to the component and component will transition through terminating, uninstantiated, instantiating, and then instantiated.
As part of ticket cleanup, evaluated and decided to keep it as enhancement. However it also looks like it is not a routine scenario. It needs reprioritization.
Last edit: Nagendra Kumar 2015-08-06
There is clarification on restart operation on a component when its saAmfCompDisableRestart is true in B.02.01 AMF spec.
7.4.7 SA_AMF_ADMIN_RESTART page 242 (AMF B.02.01 Spec) says:
When this operation is invoked on an individual instantiated component, only the
component implied in the operation is restarted. If the component in question has the
configuration option of disableRestart set to TRUE, then, depending upon the redundancy
model, a reassignment of the service instances assigned to the service unit to
which the component belongs shall be undertaken by the Availability Management
Framework. In other words, restarting such a component will potentially affect the
entire service unit to which it belongs.
changeset: 6966:4786ae314cc2
user: praveen.malviya@oracle.com
date: Thu Oct 01 15:16:58 2015 +0530
summary: amf: support RESTART admin op on non-restartable component [#334]
Related
Tickets:
#334