[Openais] [PATCH 3/4] CTS: Add tests with more totem options.

Steven Dake sdake at redhat.com
Wed Mar 24 14:30:32 PDT 2010


test case for auth:none would be cool too

good for merge

regards
-steve

On Thu, 2010-03-18 at 09:00 +1100, Angus Salkeld wrote:
> Add tests for
> 
> -crypto nss
> -crypto sober
> -threads 4
> 
> -Angus
> 
> Signed-off-by: Angus Salkeld <asalkeld at redhat.com>
> ---
>  cts/corosync.py  |    1 +
>  cts/corotests.py |   87 ++++++++++++++++++++++++++++++++++++++++++++++++++----
>  2 files changed, 82 insertions(+), 6 deletions(-)
> 
> diff --git a/cts/corosync.py b/cts/corosync.py
> index 21cb5b5..d6c808c 100644
> --- a/cts/corosync.py
> +++ b/cts/corosync.py
> @@ -131,6 +131,7 @@ class corosync_flatiron(ClusterManager):
>                  r"Shutting down\.",
>                  r"Forcing shutdown\.",
>                  r"core dump",
> +                r"Could not bind AF_UNIX",
>              ),
>              "LogFileName"    : Environment["LogFileName"],
>              })
> diff --git a/cts/corotests.py b/cts/corotests.py
> index d950d5c..6c53a6c 100644
> --- a/cts/corotests.py
> +++ b/cts/corotests.py
> @@ -55,6 +55,19 @@ class CoroTest(CTSTest):
>                  self.start(n)
>          return ret
>  
> +
> +    def setup_sec_key(self, node):
> +        localauthkey = '/tmp/authkey'
> +        if not os.path.exists(localauthkey):
> +            self.CM.rsh(node, 'corosync-keygen')
> +            self.CM.rsh.cp("%s:%s" % (node, "/etc/corosync/authkey"), localauthkey)
> +
> +        for n in self.CM.Env["nodes"]:
> +            if n is not node:
> +                #copy key onto other nodes
> +                self.CM.rsh.cp(localauthkey, "%s:%s" % (n, "/etc/corosync/authkey"))
> +
> +
>      def teardown(self, node):
>          self.CM.apply_default_config()
>          return CTSTest.teardown(self, node)
> @@ -311,10 +324,69 @@ class CpgMsgOrderBasic(CpgMsgOrderBase):
>      def __call__(self, node):
>          self.incr("calls")
>  
> -        # o > reconfigure corosync
> -        # o > reconfigure interfaces (mtu)
> -        # o > restart corosync
> -        # o > set node to die after x msgs
> +        self.num_msgs_per_node = 100
> +        self.cpg_msg_blaster()
> +        return self.wait_and_validate_order()
> +
> +class CpgMsgOrderThreads(CpgMsgOrderBase):
> +    '''
> +    each sends & logs 100 messages
> +    '''
> +    def __init__(self, cm):
> +        CpgMsgOrderBase.__init__(self,cm)
> +        self.name="CpgMsgOrderThreads"
> +
> +    def setup(self, node):
> +        self.CM.new_config['totem/threads'] = 4
> +        return CpgMsgOrderBase.setup(self, node)
> +
> +    def __call__(self, node):
> +        self.incr("calls")
> +
> +        self.num_msgs_per_node = 100
> +        self.cpg_msg_blaster()
> +        return self.wait_and_validate_order()
> +
> +
> +class CpgMsgOrderSecNss(CpgMsgOrderBase):
> +    '''
> +    each sends & logs 100 messages
> +    '''
> +    def __init__(self, cm):
> +        CpgMsgOrderBase.__init__(self,cm)
> +        self.name="CpgMsgOrderSecNss"
> +
> +    def setup(self, node):
> +        self.setup_sec_key(node)
> +        self.CM.new_config['totem/secauth'] = 'on'
> +        self.CM.new_config['totem/crypto_accept'] = 'new'
> +        self.CM.new_config['totem/crypto_type'] = 'nss'
> +        return CpgMsgOrderBase.setup(self, node)
> +
> +    def __call__(self, node):
> +        self.incr("calls")
> +
> +        self.num_msgs_per_node = 100
> +        self.cpg_msg_blaster()
> +        return self.wait_and_validate_order()
> +
> +class CpgMsgOrderSecSober(CpgMsgOrderBase):
> +    '''
> +    each sends & logs 100 messages
> +    '''
> +    def __init__(self, cm):
> +        CpgMsgOrderBase.__init__(self,cm)
> +        self.name="CpgMsgOrderSecSober"
> +
> +    def setup(self, node):
> +        self.setup_sec_key(node)
> +        self.CM.new_config['totem/secauth'] = 'on'
> +        self.CM.new_config['totem/crypto_type'] = 'sober'
> +        return CpgMsgOrderBase.setup(self, node)
> +
> +    def __call__(self, node):
> +        self.incr("calls")
> +
>          self.num_msgs_per_node = 100
>          self.cpg_msg_blaster()
>          return self.wait_and_validate_order()
> @@ -359,14 +431,17 @@ class MemLeakSession(CoroTest):
>  
> 
>  AllTestClasses = []
> +AllTestClasses.append(CpgMsgOrderBasic)
> +AllTestClasses.append(CpgMsgOrderThreads)
> +AllTestClasses.append(CpgMsgOrderSecNss)
> +AllTestClasses.append(CpgMsgOrderSecSober)
>  AllTestClasses.append(MemLeakObject)
>  AllTestClasses.append(MemLeakSession)
> +AllTestClasses.append(CpgCfgChgOnExecCrash)
>  AllTestClasses.append(CpgCfgChgOnGroupLeave)
>  AllTestClasses.append(CpgCfgChgOnNodeLeave)
>  AllTestClasses.append(CpgCfgChgOnNodeLeave_v1)
>  AllTestClasses.append(CpgCfgChgOnNodeLeave_v2)
> -AllTestClasses.append(CpgCfgChgOnExecCrash)
> -AllTestClasses.append(CpgMsgOrderBasic)
>  
>  AllTestClasses.append(FlipTest)
>  AllTestClasses.append(RestartTest)



More information about the Openais mailing list