class roles::static_source {
include roles::static::base
- # sources talk only to masters
- class { 'roles::static::ssh':
- add_tag => 'staticsync-master',
- collect_tag => 'staticsync-source',
+ if ! defined(Class["roles::static_master"]) {
+ # sources talk only to masters, but only set this up if we are not
+ # *also* a static master since we cannot have two meaningful roles::static:ssh
+ # instances in the current setup.
+ #
+ # this adds the limitation that the master of any component whose source is also a
+ # master node needs to have that same host as its master and not some other one.
+ class { 'roles::static::ssh':
+ add_tag => 'staticsync-master',
+ collect_tag => 'staticsync-source',
+ }
}
}