feat:
--Added Del api for register Node --Password must be stored in table hashed!!!!!!
This commit is contained in:
1 parent
9977440c2d
commit
254f8f1816
1 file changed
+46
-6
@@ -530,6 +530,8 @@ def get_node_interfaces(db: Session = Depends(get_db),token_data: dict = Depends
|
||||
detail=str(e)
|
||||
)
|
||||
|
||||
|
||||
# !!!!!!!!!!!!!!!!!PASSWORD MUST BE STORED IN MANAGEMENT TABLE!!!!!!!!!!!!!!
|
||||
@app.delete("/spock/del-node-interfaces")
|
||||
def delete_node_interface(
|
||||
uuid: UUID,
|
||||
@@ -549,10 +551,48 @@ def delete_node_interface(
|
||||
detail="Node interface not found"
|
||||
)
|
||||
|
||||
# Print fetched record
|
||||
conn = None
|
||||
cur = None
|
||||
try:
|
||||
conn = psycopg2.connect(
|
||||
host=node.host,
|
||||
port=node.port,
|
||||
dbname=node.dbname,
|
||||
user=node.user,
|
||||
password=os.getenv("DB_PASSWORD")
|
||||
)
|
||||
cur = conn.cursor()
|
||||
cur.execute(
|
||||
"SELECT spock.node_drop(%s);",
|
||||
(node.if_name,)
|
||||
)
|
||||
|
||||
result = cur.fetchone()
|
||||
|
||||
conn.commit()
|
||||
# 2. Delete management row
|
||||
db.delete(node)
|
||||
db.commit()
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"message": f"Spock node {node.if_name} unregistered successfully",
|
||||
"uuid": str(uuid),
|
||||
"node_name": node.if_name
|
||||
}
|
||||
except Exception as e:
|
||||
if conn:
|
||||
conn.rollback()
|
||||
print(f"Error: {e}")
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
detail=f"Failed to unregister node: {str(e)}"
|
||||
)
|
||||
finally:
|
||||
|
||||
if cur:
|
||||
cur.close()
|
||||
|
||||
if conn:
|
||||
conn.close()
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"message": "API called DEL API",
|
||||
"uuid": str(uuid)
|
||||
}
|
||||
Reference in new issue
Block a user