- Description has changed:
Diff:
~~~~
--- old
+++ new
@@ -7,9 +7,59 @@
Today AMF supports modifying csi attribute name-value without requiring that
SI to be locked. But the modified attributes are sent only after a subsequent
admin operation. This ticket is intended to evaluate and support sending
CSIsetcallback (with the same CSI state information but modified csi
attributes) immediately.
Implementation scope:
-1)Upon modification of CSI attribute, AMF will send a CSI Set callback to the
component (to which corresponding CSI is assigned) with same HA state. Callback
will contain list of all configured csiattribute name-value pairs (not only the
changed one). If CSI is not assigned, then no callback will be issued.
-Note: AMF spec does not talk about reinvocation of CSI set callback in the
context of csi-attribute modification. But reinvocation of calback with same HA
state information is discussed in case like failure handing in N-Way model AMF
B.04.01 "3.6.4.5 Failure Handling " page 167.
-2)All characteristics associated with a CSI SET callback will be applicable
with respect to invocation of callback like waiting response from component via
saAmfResponse() API and generation of error report if component does not
respond within the configured callbacktimeout.
-3)Feature will be configurable either through amfd.conf or via some attribute
in CSI. It means if the feature is enabled then only AMF will invoke callback
on component. If feature is disabled then existing behaviour will continue
which means change will come into effect via lock/unlock of SI and other
similar means involving reassignment of SI.
-4) Although CLC-CLI commands are idempotents as per spec, modification of CSI
attribture for a NPI component will not lead to re-execution of INSTANTIATE
command for a NPI component. For such a component existing behavior will
continue.
-5)Since all middleware components are sa-aware, this feature will be supported
for MW services also.
+ Introduction of new resources:
+-saAmfInitialize_5() API,
+-callback structure SaAmfCallbacksT_5 and
+-CSI Attribute Change callback OsafCsiAttributeChangeCallbackT.
+-new attribute osafAmfCSICommunicateCsiAttributeChange in class SaAmfCSI.
+As a part of \#1553, minor version (SAF) of AMF will be updated to 02 because
of introduction of aobve mentioned resources in agent. So highest supported
version now becomes B.04.02.
+
+Description of new resources at agent:
+A)OsafCsiAttributeChangeCallbackT
+ AMF will use this callback to communicate to a running component
+ any runtime change in the assigned CSI Attribute value.
+ A component can register this callback using new API
saAmfInitialize_5().
+ Callback Characteristics:
+ -Arguments:
+ typedef void (*OsafCsiAttributeChangeCalbackT)( SaInvocationT
invocation,
+ const SaNameT *csiName, SaAmfCSIAttributeListT
csiAttr);
+ -After receving this callback, a component will have to
respond to AMFND
+ using saAmfResponse_4() API with the same invocation number.
+ -Callback will be invoked in the context of registered process.
+ -Callback is meant for SA-Aware component, PROXIED PI
component and
+ PROXIED NPI component. In cases of proxied it will be given
to proxy.
+ -Callback timeout will be same as
saAmfCompCSISetCallbackTimeout or
+ saAmfCtDefCallbackTimeout.
+B)SaAmfCallbacksT_5 (new callback structure)
+ typedef struct {
+ SaAmfHealthcheckCallbackT
saAmfHealthcheckCallback;
+ SaAmfComponentTerminateCallbackT
saAmfComponentTerminateCallback;
+ SaAmfCSISetCallbackT
saAmfCSISetCallback;
+ SaAmfCSIRemoveCallbackT
saAmfCSIRemoveCallback;
+ SaAmfProtectionGroupTrackCallbackT_4
saAmfProtectionGroupTrackCallback;
+ SaAmfProxiedComponentInstantiateCallbackT
saAmfProxiedComponentInstantiateCallback;
+ SaAmfProxiedComponentCleanupCallbackT
saAmfProxiedComponentCleanupCallback;
+ SaAmfContainedComponentInstantiateCallbackT
saAmfContainedComponentInstantiateCallback;
+ SaAmfContainedComponentCleanupCallbackT
saAmfContainedComponentCleanupCallback;
+ OsafCsiAttributeChangeCallbackT
osafCsiAttributeChangeCallback;
+ } SaAmfCallbacksT_5;
+ This is new callback structure consisting of all B.04.01 callbacks and
newly
+ introduced OsafCsiAttributeChangeCallbackT. A component can register
all
+ callbacks including new one with new API saAmfInitialize_5().
+C)New API: SaAisErrorT saAmfInitialize_5( SaAmfHandleT *amfHandle, const
SaAmfCallbacksT_5
+ *amfCallbacks, SaVersionT *version)
+ Applicable return codes are same as valid for saAmfInitialize_4().
+ New API for initializing with AMF service for all callbacks including
the new one.
+ New saf version for this is B.04.02. A user will have to compulsory
register
+ OsafCsiAttributeChangeCallbackT callback along with other mandatory
callbacks to
+ initialize with AMF service using this API.
+-Attribute osafAmfCSICommunicateCsiAttributeChange in class SaAmfCSI.
+ A NON Proxied NPI component neither registers with AMF nor it is
registered via
+ any Proxy component. AMF manages only Life Cycle of this component
through
+ CLC-CLI scripts. All CLC-CLI scripts are idempotents. For such a
component, AMF
+ passes name-value pairs of CSI as environment variables to each
CLC-CLI command.
+ If there is a change in CSI attribute value for a CSI assigned to NON
PROXIED NPI
+ component, the change will be passed to the component as environment
variables by
+ executing INSTANTIATED command provided
osafAmfCSICommunicateCsiAttributeChange is
+ marked true for the assigned CSI.
+
~~~~
- **Comment**:
Invoking CSI set callback whenever CSI attribute value is changed seems
in-consistent with the HA state diagram mentioned on page 83 of AMF B0401 spec
as CSI set callback is given only when there is a change in HA state of CSI. To
avoid inconsistency introducing new callback and other resources. Please check
the implementation scope in ticket description.
---
** [tickets:#1553] AMF: Send CsiSetCallback immediately when CSI attributes are
modified (loadbalancing, VM migration usecases)**
**Status:** accepted
**Milestone:** 5.1.FC
**Labels:** VM migration loadbalancer-synchronization
**Created:** Wed Oct 21, 2015 10:03 AM UTC by Mathi Naickan
**Last Updated:** Mon Apr 11, 2016 10:02 PM UTC
**Owner:** Praveen
AMF is the 'workload' manager in OpenSAF. There are also loadbalancers external
to OpenSAF that can choose to modify some attributes of an application
component's workload which is currently assigned ACTIVE (without loss of
service). In such scenarios it is possible (and necessary) for both AMF and the
external load balancers to throttle each other. The reverse throttling(from AMF
to the external load balancer) is possible based on any changes to the
NodeCapacity limitations set in AMF, but that is for later/future
considerations.
For eg:- Suppose an application component (say modelled in n-way active) is
currently serving traffic originating from a source/target X, based on some
network criteria the load balancer can choose to re-configure/modify that
application to serve traffic from a different source/target Y. Such change in
information related to that workload could be communicated to that application
component at runtime without loss of service.
The above scenario is achieved if the admin (or a loadbalancer) modifies the
attributes of a workload i.e. csiattribute name-value pair, and then the
altered name-value information is communicated to that application or
associated application components 'immediately' instead of waiting for the next
admin operation!
Today AMF supports modifying csi attribute name-value without requiring that SI
to be locked. But the modified attributes are sent only after a subsequent
admin operation. This ticket is intended to evaluate and support sending
CSIsetcallback (with the same CSI state information but modified csi
attributes) immediately.
Implementation scope:
Introduction of new resources:
-saAmfInitialize_5() API,
-callback structure SaAmfCallbacksT_5 and
-CSI Attribute Change callback OsafCsiAttributeChangeCallbackT.
-new attribute osafAmfCSICommunicateCsiAttributeChange in class SaAmfCSI.
As a part of \#1553, minor version (SAF) of AMF will be updated to 02 because
of introduction of aobve mentioned resources in agent. So highest supported
version now becomes B.04.02.
Description of new resources at agent:
A)OsafCsiAttributeChangeCallbackT
AMF will use this callback to communicate to a running component
any runtime change in the assigned CSI Attribute value.
A component can register this callback using new API
saAmfInitialize_5().
Callback Characteristics:
-Arguments:
typedef void (*OsafCsiAttributeChangeCalbackT)( SaInvocationT
invocation,
const SaNameT *csiName, SaAmfCSIAttributeListT
csiAttr);
-After receving this callback, a component will have to respond
to AMFND
using saAmfResponse_4() API with the same invocation number.
-Callback will be invoked in the context of registered process.
-Callback is meant for SA-Aware component, PROXIED PI component
and
PROXIED NPI component. In cases of proxied it will be given to
proxy.
-Callback timeout will be same as
saAmfCompCSISetCallbackTimeout or
saAmfCtDefCallbackTimeout.
B)SaAmfCallbacksT_5 (new callback structure)
typedef struct {
SaAmfHealthcheckCallbackT
saAmfHealthcheckCallback;
SaAmfComponentTerminateCallbackT
saAmfComponentTerminateCallback;
SaAmfCSISetCallbackT saAmfCSISetCallback;
SaAmfCSIRemoveCallbackT
saAmfCSIRemoveCallback;
SaAmfProtectionGroupTrackCallbackT_4
saAmfProtectionGroupTrackCallback;
SaAmfProxiedComponentInstantiateCallbackT
saAmfProxiedComponentInstantiateCallback;
SaAmfProxiedComponentCleanupCallbackT
saAmfProxiedComponentCleanupCallback;
SaAmfContainedComponentInstantiateCallbackT
saAmfContainedComponentInstantiateCallback;
SaAmfContainedComponentCleanupCallbackT
saAmfContainedComponentCleanupCallback;
OsafCsiAttributeChangeCallbackT
osafCsiAttributeChangeCallback;
} SaAmfCallbacksT_5;
This is new callback structure consisting of all B.04.01 callbacks and
newly
introduced OsafCsiAttributeChangeCallbackT. A component can register all
callbacks including new one with new API saAmfInitialize_5().
C)New API: SaAisErrorT saAmfInitialize_5( SaAmfHandleT *amfHandle, const
SaAmfCallbacksT_5
*amfCallbacks, SaVersionT *version)
Applicable return codes are same as valid for saAmfInitialize_4().
New API for initializing with AMF service for all callbacks including
the new one.
New saf version for this is B.04.02. A user will have to compulsory
register
OsafCsiAttributeChangeCallbackT callback along with other mandatory
callbacks to
initialize with AMF service using this API.
-Attribute osafAmfCSICommunicateCsiAttributeChange in class SaAmfCSI.
A NON Proxied NPI component neither registers with AMF nor it is
registered via
any Proxy component. AMF manages only Life Cycle of this component
through
CLC-CLI scripts. All CLC-CLI scripts are idempotents. For such a
component, AMF
passes name-value pairs of CSI as environment variables to each CLC-CLI
command.
If there is a change in CSI attribute value for a CSI assigned to NON
PROXIED NPI
component, the change will be passed to the component as environment
variables by
executing INSTANTIATED command provided
osafAmfCSICommunicateCsiAttributeChange is
marked true for the assigned CSI.
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets