Files
update/software-client/software_client/common/http_errors.py
Bin Qian 229acb985f Add deletion constraint
This change adds checks before deleting software releases:
1. software release is available or unavailable
2. When it is on a system controller, the release is not being used by a
   subcloud
This change also update the following:
1. removed the exception handling in controller level, moved to
   exception hook
2. CLI code to display HTTP error, only handles 500 status code, by
   displaying message from API, all other 4xx, 5xx status code display
   HTTP error directly.
3. ensure CLI return 1 for unsuccessful requets (status code 500)
4. fixed some minor issues

Story: 2010676
Task: 49657

TCs:
     passed: observe delection rejected because of release not found,
release is not in available or unavailable state.
     passed: delete an available release
     passed: on system controller, successfully delete scenarios
     passed: (simulated) on system controller with subcloud, delete
     release used by subcloud is rejected

Change-Id: I306b1d8604113b92d907384844e8e8107835a463
Signed-off-by: Bin Qian <bin.qian@windriver.com>
2024-03-20 22:41:48 +00:00

50 lines
1.3 KiB
Python

"""
Copyright (c) 2024 Wind River Systems, Inc.
SPDX-License-Identifier: Apache-2.0
"""
# HTTP ERRORS, display message when corresponding status code
# is received.
# status code 500, will be handled separatedly, as it returns
# API request related information.
HTTP_ERRORS = {
400: "Bad Request",
401: "Unauthorized",
403: "Forbidden",
404: "Not Found",
405: "Method Not Allowed",
406: "Not Acceptable",
407: "Proxy Authentication Required",
408: "Request Timeout",
409: "Conflict",
410: "Gone",
411: "Length Required",
412: "Precondition Failed",
413: "Content Too Large",
414: "URI Too Long",
415: "Unsupported Media Type",
416: "Range Not Satisfiable",
417: "Expectation Failed",
418: "I'm a teapot",
421: "Misdirected Request",
422: "Unprocessable Content",
423: "Locked",
424: "Failed Dependency",
425: "Too Early",
426: "Upgrade Required",
428: "Precondition Required",
429: "Too Many Requests",
501: "Not Implemented",
502: "Bad Gateway",
503: "Service Unavailable",
504: "Gateway Timeout",
505: "HTTP Version Not Support",
506: "Variant Also Negotiates",
507: "Insufficient Storage",
508: "Loop Detected",
509: "Not Extended",
511: "Network Authentication Required"
}