def METHOD_NAME(self):
    """
    Test node grouping with indirect resources set on some nodes
    Steps:
    -> Configure the system to have 6 vnodes with custom resource 'foostr'
    set as the node_group_key
    -> Set 'foostr' to 'A', 'B', and 'C' on the first three vnodes
    -> Set 'foostr' for the next three vnodes to point to the first three
    vnodes correspondingly
    -> Verify that the last three vnodes are part of their respective
    placement sets
    """
    # Create 6 vnodes
    attr = {'resources_available.ncpus': 1}
    self.mom.create_vnodes(attr, 6)
    vn = ['%s[%d]' % (self.mom.shortname, i) for i in range(6)]
    # Configure a system with 6 vnodes and 'foostr' as node_group_key
    self.config_complex_for_grouping('foostr')
    # Set 'foostr' to 'A', 'B' and 'C' respectively for the first
    # three vnodes
    attr = {'resources_available.foostr': 'A'}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[0])
    attr = {'resources_available.foostr': 'B'}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[1])
    attr = {'resources_available.foostr': 'C'}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[2])
    # Set 'foostr' for last three vnodes as indirect resource to
    # the first three vnodes correcpondingly
    attr = {'resources_available.foostr': '@' + vn[0]}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[3])
    attr = {'resources_available.foostr': '@' + vn[1]}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[4])
    attr = {'resources_available.foostr': '@' + vn[2]}
    self.server.manager(MGR_CMD_SET, NODE, attr, vn[5])
    # Submit 3 jobs requesting 2 vnodes and check they ran on the nodes
    # within same group
    attr = {'Resource_List.select': '2:ncpus=1'}
    # since there are 6 vnodes and the test grouped them on foostr
    # resource, we now have groups in pair of vnode 0+3, 1+4, 2+5
    # check that the jobs are running on correct vnode groups.
    for i in range(3):
        jid, j = self.submit_job(attr)
        self.server.expect(JOB, {'job_state': 'R'}, id=jid)
        self.server.status(JOB, 'exec_vnode', jid)
        vn = j.get_vnodes()
        self.assertEqual(int(vn[0][-2]) + 3, int(vn[1][-2]))