From 47553c43d71b7b1144f912ab9679f5b60e858fa2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 11 May 2023 11:04:53 +0200 Subject: Adding upstream version 1.3.1+dfsg. Signed-off-by: Daniel Baumann --- .../remove_and_decommission_device.py | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/labs/lab02-inventory-operations/remove_and_decommission_device.py (limited to 'docs/labs/lab02-inventory-operations/remove_and_decommission_device.py') diff --git a/docs/labs/lab02-inventory-operations/remove_and_decommission_device.py b/docs/labs/lab02-inventory-operations/remove_and_decommission_device.py new file mode 100644 index 0000000..16e783a --- /dev/null +++ b/docs/labs/lab02-inventory-operations/remove_and_decommission_device.py @@ -0,0 +1,32 @@ +# Copyright (c) 2022 Arista Networks, Inc. +# Use of this source code is governed by the Apache License 2.0 +# that can be found in the COPYING file. + +from cvprac.cvp_client import CvpClient +import ssl +import uuid +import time +ssl._create_default_https_context = ssl._create_unverified_context +import requests.packages.urllib3 +requests.packages.urllib3.disable_warnings() + +# Create connection to CloudVision +clnt = CvpClient() +clnt.connect(nodes=['cvp1'], username="username", password="password") + +device_id = input("Serial number of the device to be decommissioned: ") +request_id = str(uuid.uuid4()) +clnt.api.device_decommissioning(device_id, request_id) + +# This API call will fully decommission the device, ie remove it from both +# Network Provisioning and Device Inventory (telemetry). It send an eAPI request +# to EOS to shutdown the TerminAttr daemon, waits for streaming to stop and then removes +# the device from provisioning and finally decommissions it. This operation can take a few minutes. +# Supported from CVP 2021.3.0+ and CVaaS. +decomm_status = "DECOMMISSIONING_STATUS_SUCCESS" +decomm_result = "" +while decomm_result != decomm_status: + decomm_result = clnt.api.device_decommissioning_status_get_one(request_id)['value']['status'] + time.sleep(10) + +print(decomm_result) -- cgit v1.2.3