@@ -120,16 +120,25 @@ def join(args):
120120 """
121121 h = flux .Flux ()
122122
123- h .rpc ("groups.join" , {"name" : args .name }).get ()
123+ h .rpc ("groups.join" , {"name" : args .name }, nodeid = args . rank ).get ()
124124 if args .dubjoin :
125- h .rpc ("groups.join" , {"name" : args .name }).get ()
125+ h .rpc ("groups.join" , {"name" : args .name }, nodeid = args . rank ).get ()
126126
127127 if args .leave :
128- h .rpc ("groups.leave" , {"name" : args .name }).get ()
128+ h .rpc ("groups.leave" , {"name" : args .name }, nodeid = args . rank ).get ()
129129 if args .dubleave :
130130 h .rpc ("groups.leave" , {"name" : args .name }).get ()
131131
132132
133+ def leave (args ):
134+ """
135+ Leave group.
136+ """
137+ h = flux .Flux ()
138+
139+ h .rpc ("groups.leave" , {"name" : args .name }, nodeid = args .rank ).get ()
140+
141+
133142LOGGER = logging .getLogger ("groups" )
134143
135144
@@ -183,15 +192,28 @@ def main():
183192 # join
184193 join_parser = subparsers .add_parser (
185194 "join" ,
186- usage = "groups join [--dubjoin] [--leave] [--dubleave] name" ,
195+ usage = "groups join [--rank N] [-- dubjoin] [--leave] [--dubleave] name" ,
187196 formatter_class = flux .util .help_formatter (),
188197 )
189198 join_parser .add_argument ("--dubjoin" , action = "store_true" )
190199 join_parser .add_argument ("--leave" , action = "store_true" )
191200 join_parser .add_argument ("--dubleave" , action = "store_true" )
201+ join_parser .add_argument ("--rank" , type = int , default = flux .constants .FLUX_NODEID_ANY )
192202 join_parser .add_argument ("name" )
193203 join_parser .set_defaults (func = join )
194204
205+ # leave
206+ leave_parser = subparsers .add_parser (
207+ "leave" ,
208+ usage = "groups leave [--rank N] name" ,
209+ formatter_class = flux .util .help_formatter (),
210+ )
211+ leave_parser .add_argument (
212+ "--rank" , type = int , default = flux .constants .FLUX_NODEID_ANY
213+ )
214+ leave_parser .add_argument ("name" )
215+ leave_parser .set_defaults (func = leave )
216+
195217 args = parser .parse_args ()
196218 args .func (args )
197219
0 commit comments