33 lines
		
	
	
		
			834 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			834 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
import argparse
 | 
						|
import json
 | 
						|
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)
 |