I am working with a system that has a handful of domains that it serves and I have the multiple hostnames in the config file. All come in on the same IP address/port. I use the following commands to add a single shared roster group to one of the domains:
ejabberdctl srg_create groupA switchA.com GroupA Description groupA
ejabberdctl srg_create groupB switchB.com GroupB Description groupB
Now when I go to the command line and list the groups per hostname:
ejabberdctl srg_list switcha.com
groupB
groupA
Maybe I am misunderstanding something here but shouldn't I only see groupA for switchA.com and only see groupB for switchB.com? Not both under switchA.com?
For mod_shared_roster are you
For mod_shared_roster are you using mnesia or sql storage? Did you configure a different database for each vhost? Look at the sr_group SQL table, it uses as key only the group name, not the host, so ejabberd can't differentiate groups from different hosts.
Read the Important note about virtual hosting:
https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configur...
I ended up getting it to work
I ended up getting it to work by switching away from using our pgsql database and using mnesia. Had to make a couple changes to our stuff too but all is well now!