Hi Alex,
Code review:
1. Header for few functions are missing.
2. Clc.cc: Need to add '0' in place avnd_comp_clc_inst_try_again_hdler in other
fsm states.
Testing:
1. Uploaded AppConfig-container.xml and AppConfig-contained-2N.xml
Performed:
amf-adm unlock-in safSu=SU1,safSg=Container,safApp=Container
amf-adm unlock safSu=SU1,safSg=Container,safApp=Container
Even I don't perform the following, the contained components are instantiated.
amf-adm unlock-in safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
amf-adm unlock safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
Aug 28 19:15:11 nags-VirtualBox osafamfnd[28278]: NO
'safSu=SU1,safSg=Contained_2N,safApp=Contained_2N' Presence State
UNINSTANTIATED => INSTANTIATING
immlist safSu=SU1,safSg=Contained_2N,safApp=Contained_2N will show
saAmfSUPresenceState 3(instantiated) and saAmfSUAdminState 3(locked-in)
Now further admin operation on safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
will fail:
root@nags-VirtualBox:/home/nags/views/ajones-review/samples/amf/container#
amf-adm unlock-in safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
error - saImmOmAdminOperationInvoke_2 admin-op RETURNED:
SA_AIS_ERR_BAD_OPERATION (20)
error-string: Can't instantiate
'safSu=SU1,safSg=Contained_2N,safApp=Contained_2N', whose presence state is '3'
2.This is related to Specs 6.2.2 Assignment of the Container CSI: "If there are
multiple container components on a node which have the active HA state
for a particular container CSI, and one or more service units on the same node
whose
contained components are configured with the same container CSI, it is
implementation-
defined how the Availability Management Framework selects container components
to handle the life cycle of the contained components of these service units.
However, all contained components of a service unit must have the same
associated
container component."
Uploaded AppConfig-container.xml and AppConfig-contained-2N.xml with once
difference that all SUs of container and contained are configured on SC-1.
Perform the following operations, but
safSu=SU2,safSg=Contained_2N,safApp=Contained_2N will not get assignments.
amf-adm unlock-in safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
amf-adm unlock safSu=SU1,safSg=Contained_2N,safApp=Contained_2N
amf-adm unlock-in safSu=SU2,safSg=Contained_2N,safApp=Contained_2N
amf-adm unlock safSu=SU2,safSg=Contained_2N,safApp=Contained_2N
amf-adm unlock-in safSu=SU1,safSg=Container,safApp=Container
amf-adm unlock safSu=SU1,safSg=Container,safApp=Container
amf-adm unlock-in safSu=SU2,safSg=Container,safApp=Container
amf-adm unlock safSu=SU2,safSg=Container,safApp=Container
root@nags-VirtualBox:/home/nags/views/ajones-review/samples/amf/container#
amf-state siass
safSISU=safSu=SC-1\,safSg=NoRed\,safApp=OpenSAF,safSi=NoRed1,safApp=OpenSAF
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
safSISU=safSu=SC-1\,safSg=2N\,safApp=OpenSAF,safSi=SC-2N,safApp=OpenSAF
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
safSISU=safSu=SU1\,safSg=Contained_2N\,safApp=Contained_2N,safSi=Contained_2N_1,safApp=Contained_2N
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
safSISU=safSu=SU1\,safSg=Container\,safApp=Container,safSi=Container,safApp=Container
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
safSISU=safSu=SU2\,safSg=Container\,safApp=Container,safSi=Container,safApp=Container
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
I will do further testing.
The documentation need to be done if you haven't tested :
- Headless enabled
- CSI Dep, SI Dep testimg
- Etc.
Thanks,
Nagendra, 91-9866424860
High Availability Solutions Pvt. Ltd. (www.hasolutions.in)
- OpenSAF Support and Services
--------- Original Message --------- Subject: Re: [PATCH 1/1] amf: add support
for container/contained [#70]
From: "Alex Jones" <[email protected]>
Date: 8/15/18 11:10 pm
To: "Gary Lee" <[email protected]>, [email protected],
[email protected], [email protected]
Cc: [email protected]
G'day Gary,
I see you were adding the XML file dynamically with "immcfg -f". I hadn't
tried that. I hadn't tried killing the sample app, either.
Here is a patch that should fix both issues. Apply it on top of the latest
big one I sent.
Alex
On 08/13/2018 10:37 PM, Gary Lee wrote:
NOTICE: This email was received from an EXTERNAL sender
Hi Alex
I modified AppConfig-container.xml and changed saAmfSgtRedundancyModel from 4
(NwayAct) to 1 (2N).
The xml still loads and I could unlock, resulting in:
root@SC-1:/var/log# immlist safVersion=1,safSgType=Container
Name Type Value(s)
========================================================================
safVersion SA_STRING_T safVersion=1
saAmfSgtValidSuTypes SA_NAME_T
safVersion=1,safSuType=Container (32)
saAmfSgtRedundancyModel SA_UINT32_T 1 (0x1)
safSISU=safSu=SU2\,safSg=Container\,safApp=Container,safSi=Container,safApp=Container
saAmfSISUHAState=STANDBY(2)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
safSISU=safSu=SU1\,safSg=Container\,safApp=Container,safSi=Container,safApp=Container
saAmfSISUHAState=ACTIVE(1)
saAmfSISUHAReadinessState=READY_FOR_ASSIGNMENT(1)
Also, have you tried killing the amf_container_demo binary?
Thanks
Gary
On 14/08/18 05:00, Alex Jones wrote:
Hi Gary,
I just resubmitted a new patch which breaks out the different components,
and addresses the other comments here. But, #2 (rejecting all but NWay-active
for container) should already be in there. Is there a specific test you ran
that didn't work?
Alex
On 08/13/2018 02:43 AM, Gary Lee wrote:
NOTICE: This email was received from an EXTERNAL sender
Hi Alex
Some initial comments:
0. Is it possible to split up the patch into amfd / amfnd / common / samples.
Just makes it easier to reply inline.
1. Please compile the container demo by default, and make amf_container_script
world executable.
Eg.
diff --git a/samples/amf/Makefile.am b/samples/amf/Makefile.am
index 447dedd..7ebf9c3 100644
--- a/samples/amf/Makefile.am
+++ b/samples/amf/Makefile.am
@@ -19,5 +19,5 @@ include $(top_srcdir)/Makefile.common
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = sa_aware non_sa_aware wrapper proxy api_demo
+SUBDIRS = sa_aware non_sa_aware wrapper proxy api_demo container
diff --git a/samples/amf/container/amf_container_script
b/samples/amf/container/amf_container_script
old mode 100644
new mode 100755
diff --git a/samples/configure.ac b/samples/configure.ac
index 7cf803e..9765d54 100644
--- a/samples/configure.ac
+++ b/samples/configure.ac
@@ -67,6 +67,7 @@ AC_CONFIG_FILES([ \
amf/wrapper/Makefile \
amf/proxy/Makefile \
amf/api_demo/Makefile \
+ amf/container/Makefile \
cpsv/Makefile \
cpsv/ckpt_demo/Makefile \
cpsv/ckpt_track_demo/Makefile \
2. We should probably reject CCBs that set saAmfSgtRedundancyModel to anything
other than NWayActive, for Containers.
3. Do we need to bump the msg format version to AVSV_AVD_AVND_MSG_FMT_VER_8?
An old amfnd will assert if it gets an AVSV_D2N_CONTAINED_SU_MSG_INFO msg.
Thanks
Gary
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel