virtual_server_group does that do what I think is does?

Mike Williams <[email protected]>
Newsgroups gmane.linux.keepalived.devel
Message-ID <5045966.NYfOfYUWlI@mahdell>
Sorry if this is the wrong place for idiot user questions, there isn't a 
keepalived-users list and other people seem to be asking user-type questions 
here.

So I'm looking to swap from ldirectord to keepalived.

One particular point confusing me no end is virtual_server_group.
It seems like a slam dunk feature, but my puny brain can't grasp how to 
actually use it.

We've got multiple virtuals pointing at a set of reals. In one case 18 
separate virtuals against the same set of reals (and many more to come). It 
would be extremely useful to reduce 18 checks to 1.


virtual_server 178.x.x.224 80 {
	...
	real_server 10.x.x.40 80 {
		HTTP_GET {
			...
		}
	}
	real_server 10.x.x.41 80 {
		...
	}
	real_server ...
	real_server ...
	...
	...
}

Rinse and repeat a further 17 times. Different virtual_server IP, same set of 
real_server IPs, each time.

All the examples I see talk about defining "virtual_server group <string>", 
which doesn't make any sense to me. It's the virtual_server that's unique, not 
the real_servers.
A separate virtual_server_group for each virtual_server only makes the config 
less human parseable (which isn't necessarily a bad thing). It's unclear how 
separate virtual_server_groups helps keepalived reduce the number of health 
checks though.



Also, on a separate note, can any of the xx_GET/xx_CHECK variables be defined 
globally?
The config ends up unnecessarily long having to define "url { path ...; 
status_code ...; digest ...; }" over and over and over again.

# grep "url {" /etc/keepalived/keepalived.conf  | wc -l
115



To my mind, what would clear up both my points is a real_server_group 
directive.

real_server_group generalweb
	real_server 10.x.x.40 80 {
		HTTP_GET {
			...
		}
	}
	real_server 10.x.x.41 80 {
		...
	}
	real_server ...
	real_server ...
	...
	...
}

virtual_server 178.x.x.224 80 {
	...
	real_server_group generalweb
}


Puppet makes the repeated use of the same real_server directives pretty simply 
though.



Thanks

-- 
Mike Williams

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.