Alle Projektressourcen auf CODE-DE-Lab mit OpenStack-Befehlszeilenclients korrekt löschen
Das Abrechnungssystem von CODE-DE-Lab berechnet alle im System vorhandenen Ressourcen, unabhängig davon, ob Sie diese nutzen. Löschen Sie daher Ressourcen, die Sie nicht mehr benötigen. Wenn Sie ein Projekt vor seinen Ressourcen löschen, werden diese verwaist. Sie können verwaiste Ressourcen nicht selbst löschen, müssen aber weiterhin dafür bezahlen.
Warnung
Um die Ressourcen und das Projekt korrekt zu löschen, löschen Sie zuerst die Ressourcen und erst danach das Projekt selbst.
Dieser Artikel beschreibt das Löschen von Ressourcen mit Befehlszeilenclients. Für das Löschen über Horizon lesen Sie Alle Projektressourcen auf CODE-DE-Lab über das Horizon-Dashboard korrekt löschen.
Zuerst das richtige Projekt auswählen
Öffnen Sie zunächst wie gewohnt die Cloud-Umgebung über https://identity.cloudferro.com/auth/realms/CODE-DE3/account/.
Prüfen Sie den Projektnamen oben links und wechseln Sie bei Bedarf zum richtigen Projekt. Dies kann beispielsweise so aussehen:
Bei Bedarf die Befehlszeilenumgebung vorbereiten
Falls Ihre Befehlszeile noch nicht eingerichtet und funktionsfähig ist, bereiten Sie sie anhand eines dieser Artikel vor:
Zugriff auf die Cloud einrichten
Informationen zum Einrichten des Cloud-Zugriffs finden Sie hier:
OpenStack-CLI-Zugriff auf die Cloud von CODE-DE-Lab mit Zwei-Faktor-Authentifizierung aktivieren
Alle Ressourcen eines Projekts auflisten
Ein Projekt enthält üblicherweise:
Server,
Volumes,
Floating IPs und
Router.
Listen Sie diese Ressourcen des Projekts mit den folgenden Befehlen auf:
echo Servers: && openstack server list && echo Volumes: && openstack volume list && echo Volume Snapshots: && openstack volume snapshot list && echo Floating ip: && openstack floating ip list && echo Routers:: && openstack router list
Das Ergebnis sieht so aus:
Es gibt zwei Server: sen4cap_access und pipenv-test. Mit dem ersten ist das Volume Sen4CAP Volume verbunden. Löschen Sie daher zunächst dieses und alle weiteren Volumes.
Volumes von Servern trennen
Trennen Sie zunächst die Volumes von den Servern. Der allgemeine Befehl lautet:
openstack server remove volume <server_id> <volume_id>
In diesem Beispiel:
openstack server remove volume 5a14e266-fcf2-46ac-a177-ed13a6c0fc2b e16ae728-14db-43ba-83d1-aca90c28ce6f
Stellen Sie sicher, dass für Ihr Volume keine Volume-Snapshots vorhanden sind. Listen Sie diese mit folgendem Befehl auf:
openstack volume snapshot list
Falls Snapshots vorhanden sind, löschen Sie sie ebenfalls mit folgendem Befehl:
openstack volume delete snapshot <volume_snapshot_id>
Das Volume löschen
Nun können Sie das Volume löschen.
openstack volume delete <volume_id>
Eine leere Zeile nach dem Befehl zum Auflisten zeigt, dass keine Volumes mehr vorhanden sind:
Anschließend können Sie den Server löschen.
openstack server delete <server_id>
Die Floating IP löschen
Löschen Sie anschließend die Floating IP.
openstack floating ip delete <floating_ip_id>
Den Router löschen
Zuletzt können Sie den Router löschen. Zeigen Sie zunächst seine grundlegenden Informationen mit folgendem Befehl an:
openstack router show 6f1fbe79-342e-46d8-ae44-45205892b2b2 -f json
Durch den Parameter -f json erfolgt die Ausgabe zur besseren Übersicht im JSON-Format:
{
"admin_state_up": true,
"availability_zone_hints": null,
"availability_zones": null,
"created_at": "2022-04-27T07:05:57Z",
"description": "",
"enable_ndp_proxy": null,
"external_gateway_info": {
"network_id": "31d7e67a-b30a-43f4-8b06-1667c70ba90d",
"enable_snat": true,
"external_fixed_ips": [
{
"subnet_id": "bfb8ab78-0208-4e0c-8b66-9421b70ee798",
"ip_address": "185.52.195.234"
}
]
},
"flavor_id": null,
"id": "6f1fbe79-342e-46d8-ae44-45205892b2b2",
"interfaces_info": [
{
"port_id": "3dcc0a47-2192-4f22-8b1a-3f567d989a5b",
"ip_address": "10.0.0.1",
"subnet_id": "5395e250-c0ae-45a4-8b0f-870bd6e53bec"
}
],
"name": "cloud_00341_2",
"project_id": "ff558ffe8f1341a5946a9a23032a6e59",
"revision_number": 3,
"routes": [],
"status": "ACTIVE",
"tags": [],
"tenant_id": "ff558ffe8f1341a5946a9a23032a6e59",
"updated_at": "2022-04-27T07:06:07Z"
}
Entfernen Sie nun den Port, das Subnetz und schließlich den Router selbst:
openstack router remove port <router_id> <port_id>
openstack router remove subnet <router_id> <subnet_id>
openstack router delete <router_id>
Ressourcen lassen sich häufig nicht löschen, wenn sie zu mehreren Netzwerken oder Subnetzen gehören. Insbesondere kann ein Port gleichzeitig mehreren Netzwerken zugeordnet sein. Dadurch können Sie möglicherweise nicht alle Ressourcen eines Projekts löschen. In diesem Beispiel lässt sich ein Router nicht löschen, da er laut Meldung „it is required by one or more floating IPs“ von mindestens einer Floating IP benötigt wird:
Die Ursache zu finden kann einige Nachforschungen erfordern. Erst wenn alle Verbindungen getrennt sind, erlaubt OpenStack das Löschen einer Ressource. Wie am Anfang dieses Artikels erwähnt, kann der Befehl zum Löschen eines Projekts dennoch erfolgreich sein. Dadurch können Ressourcen ohne übergeordnetes Projekt zurückbleiben, die Sie nicht selbst entfernen können.
Verwaiste Ressourcen entfernen
Wenn Sie Hilfe beim Entfernen verwaister Ressourcen benötigen:
öffnen Sie Project –> API Access –> User Credentials Details und
kopieren Sie User Name, User ID, Project Name sowie Project ID und
senden Sie eine Anfrage an den Support: Helpdesk und Support.
Projekte auflisten und löschen
Der Befehl zum Auflisten der Projekte lautet:
openstack project list
Mit folgendem Befehl zeigen Sie ein bestimmtes Projekt an:
openstack project show cloud_00341_2
Die Ausgabe sieht so aus:
Nachdem Sie alle Ressourcen gelöscht haben, können Sie versuchen, das Projekt mit folgendem Befehl zu löschen
openstack project delete cloud_00341_2
Falls dies nicht gelingt, fehlen Ihnen entweder die erforderlichen Berechtigungen oder es sind noch Teile des Projekts vorhanden. Auch das einzige Projekt einer Domain kann nicht gelöscht werden: