[TASK] Add script to remove nodes by nodeid into contrib (#81)
This commit is contained in:
parent
d4b1de3da9
commit
db0aa25cf8
32
contrib/yanic-remove-node
Executable file
32
contrib/yanic-remove-node
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import json
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main(states, nodeid):
|
||||||
|
with open(states) as handle:
|
||||||
|
data = json.load(handle)
|
||||||
|
|
||||||
|
if nodeid in data['nodes']:
|
||||||
|
del data['nodes'][nodeid]
|
||||||
|
print("node {} removed".format(nodeid))
|
||||||
|
else:
|
||||||
|
print('node not in state file', file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
with open(states, 'w') as handle:
|
||||||
|
json.dump(data, handle)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
parser.add_argument('-s', '--states', action='store', required=True,
|
||||||
|
help='path to the states json file')
|
||||||
|
parser.add_argument('-n', '--nodeid', action='store', required=True,
|
||||||
|
help='nodeid of the node to remove')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
main(args.states, args.nodeid)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user