@@ -4009,7 +4009,7 @@ cdef class reservation:
40094009 Res_dict[u ' burst_buffer' ] = slurm.listOrNone(record.burst_buffer, ' ,' )
40104010 Res_dict[u ' core_cnt' ] = record.core_cnt
40114011 Res_dict[u ' end_time' ] = record.end_time
4012- Res_dict[u ' features' ] = slurm.listOrNone (record.features, ' , ' )
4012+ Res_dict[u ' features' ] = slurm.stringOrNone (record.features, ' ' )
40134013
40144014 flags = slurm.slurm_reservation_flags_string(& record)
40154015 Res_dict[u ' flags' ] = slurm.stringOrNone(flags, ' ' )
@@ -4106,7 +4106,7 @@ def slurm_create_reservation(dict reservation_dict={}):
41064106 resv_msg.core_cnt[0 ] = uint32_value
41074107
41084108 if reservation_dict.get(' node_list' ):
4109- b_node_list = reservation_dict[u ' node_list' ].encode(" UTF-8" )
4109+ b_node_list = reservation_dict[u ' node_list' ].encode(" UTF-8" , " replace " )
41104110 resv_msg.node_list = b_node_list
41114111 if reservation_dict.get(' core_cnt' ):
41124112 hl = hostlist()
@@ -4124,6 +4124,10 @@ def slurm_create_reservation(dict reservation_dict={}):
41244124 b_users = reservation_dict[u ' users' ].encode(" UTF-8" , " replace" )
41254125 resv_msg.users = b_users
41264126
4127+ if reservation_dict.get(' features' ):
4128+ b_features = reservation_dict[u ' features' ].encode(" UTF-8" , " replace" )
4129+ resv_msg.features = b_features
4130+
41274131 if reservation_dict.get(' accounts' ):
41284132 b_accounts = reservation_dict[u ' accounts' ].encode(" UTF-8" , " replace" )
41294133 resv_msg.accounts = b_accounts
@@ -4201,7 +4205,7 @@ def slurm_update_reservation(dict reservation_dict={}):
42014205 resv_msg.core_cnt[0 ] = uint32_value
42024206
42034207 if reservation_dict.get(' node_list' ):
4204- b_node_list = reservation_dict[u ' node_list' ].encode( " UTF-8 " )
4208+ b_node_list = reservation_dict[u ' node_list' ]
42054209 resv_msg.node_list = b_node_list
42064210 if reservation_dict.get(' core_cnt' ):
42074211 hl = hostlist()
@@ -4219,6 +4223,10 @@ def slurm_update_reservation(dict reservation_dict={}):
42194223 b_users = reservation_dict[u ' users' ].encode(" UTF-8" , " replace" )
42204224 resv_msg.users = b_users
42214225
4226+ if reservation_dict.get(' features' ):
4227+ b_features = reservation_dict[u ' features' ].encode(" UTF-8" , " replace" )
4228+ resv_msg.features = b_features
4229+
42224230 if reservation_dict.get(' accounts' ):
42234231 b_accounts = reservation_dict[u ' accounts' ].encode(" UTF-8" , " replace" )
42244232 resv_msg.accounts = b_accounts
@@ -4281,6 +4289,7 @@ def create_reservation_dict():
42814289 u ' node_cnt' : 0 ,
42824290 u ' name' : None ,
42834291 u ' node_list' : None ,
4292+ u ' features' : None ,
42844293 u ' flags' : None ,
42854294 u ' partition' : None ,
42864295 u ' licenses' : None ,
0 commit comments