Bug 689123

Summary: [Patch] Add more control parameters for totem
Product: [Fedora] Fedora Reporter: Vladislav Bogdanov <bubble>
Component: clusterAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 13CC: agk, cfeist, fdinitto, lhh, swhiteho
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 917771 (view as bug list) Environment:
Last Closed: 2011-03-28 10:48:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 917771    
Attachments:
Description Flags
Add more params to totem
none
Fixed version
none
The same without defaults none

Description Vladislav Bogdanov 2011-03-19 17:28:52 UTC
Attaching a patch against 3.1.1 which adds more control over totem protocol parameters.

These are really needed in some switching environments.

Comment 1 Vladislav Bogdanov 2011-03-19 17:31:28 UTC
Created attachment 486393 [details]
Add more params to totem

Comment 2 Fabio Massimo Di Nitto 2011-03-22 08:50:55 UTC
hi Vladislav,

something does not look right in the patch:

seqno_nchanged_const default is 30, but if you don´t find the key you set it to 2500 ?

I am also a bit puzzled.. why do we need to set defaults again?

Once you add those values to the <totem section in cluster.conf, they should be propagated automatically down to totem in objdb.

In theory, allowing the config validation should be enough.

In cmanpre_readconfig:

                ret = copy_tree_to_root(objdb, "totem", 0);

that copies pristine

<cluster>
 <totem...>

to the equivalent of:

totem {

in corosync.conf

My guess (sorry I don´t have time to do testing right now) is that validating the config bits should be enough.

Fabio

Comment 3 Vladislav Bogdanov 2011-03-22 09:04:15 UTC
> seqno_nchanged_const default is 30, but if you don´t find the key you set it to
> 2500 ?

Oops, just a blind copy from existing code ;)

> In theory, allowing the config validation should be enough.
> 
> In cmanpre_readconfig:
> 
>                 ret = copy_tree_to_root(objdb, "totem", 0);

I dug into cman code just for the first time, so wasn't aware of this one.

> My guess (sorry I don´t have time to do testing right now) is that validating
> the config bits should be enough.

Do you mean that patch against cluster.rng.in is enough?

Comment 4 Fabio Massimo Di Nitto 2011-03-22 09:08:45 UTC
(In reply to comment #3)
> > seqno_nchanged_const default is 30, but if you don´t find the key you set it to
> > 2500 ?
> 
> Oops, just a blind copy from existing code ;)

eheh.. yeah I noticed the similarity from the few lines above :)

> 
> > In theory, allowing the config validation should be enough.
> > 
> > In cmanpre_readconfig:
> > 
> >                 ret = copy_tree_to_root(objdb, "totem", 0);
> 
> I dug into cman code just for the first time, so wasn't aware of this one.

No worries, I am very glad somebody is contributing stuff back.

> 
> > My guess (sorry I don´t have time to do testing right now) is that validating
> > the config bits should be enough.
> 
> Do you mean that patch against cluster.rng.in is enough?

In theory it should be more than enough. I would assume you have a setup that requires those changes and therefor you should be able to verify that easily?

Comment 5 Vladislav Bogdanov 2011-03-22 09:14:33 UTC
It could be easily verified with corosync-objctl, so yes.

I do not promise to do it quickly, only with next restart of my testing cluster in cman mode (it now runs on openais stack). It is not yet scheduled, so it could take some days.

Comment 6 Fabio Massimo Di Nitto 2011-03-22 09:23:42 UTC
(In reply to comment #5)
> It could be easily verified with corosync-objctl, so yes.
> 
> I do not promise to do it quickly, only with next restart of my testing cluster
> in cman mode (it now runs on openais stack). It is not yet scheduled, so it
> could take some days.

I am in no hurry personally. Take your time. 3.1.2 is nowhere ready to be released.

Comment 7 Vladislav Bogdanov 2011-03-23 13:57:38 UTC
Created attachment 487043 [details]
Fixed version

Hi Fabio,

attached is trimmed version.

BTW, shouldn't I specify that default value should be consulted in corosync.conf(5)?

Comment 8 Fabio Massimo Di Nitto 2011-03-23 15:01:19 UTC
(In reply to comment #7)
> Created attachment 487043 [details]
> Fixed version
> 
> Hi Fabio,
> 
> attached is trimmed version.
> 
> BTW, shouldn't I specify that default value should be consulted in
> corosync.conf(5)?

Hi Vladislav,

Yes sure, there is also a specific flag for the schema to point to a man page.

Assuming you tested the patch, it should be good to go in the tree. Please let me know if you want to update it more to add references to the man pages.

Fabio

Comment 9 Vladislav Bogdanov 2011-03-23 15:22:07 UTC
Created attachment 487071 [details]
The same without defaults

I just dropped defaults from patch (inline) assuming they may change in corosync. Whole totem section should refer to man page, not every option.
Previous patch is tested to work, this one should apply cleanly too (nothing is functionally changed).

Comment 10 Fabio Massimo Di Nitto 2011-03-28 10:47:53 UTC
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=e7d91758422f354a3488db5f9d375484b4be4535

The patch is slightly different than submitted one. There was a typo fix in one of the entries and added rha:default values.