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:

../_images/switch_to_project.png

Bei Bedarf die Befehlszeilenumgebung vorbereiten

Falls Ihre Befehlszeile noch nicht eingerichtet und funktionsfähig ist, bereiten Sie sie anhand eines dieser Artikel vor:

Windows

So installieren Sie den OpenStackClient (Windows) unter Verwendung von GitBash/Cygwin

So installieren Sie OpenStackClient unter Windows mit Windows Subsystem für Linux auf CODE-DE-Lab OpenStack

Linux

Wie installiert man den OpenStackClient (Linux)?

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:

../_images/kra_list_all.png

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:

../_images/delete_volume.png

Anschließend können Sie den Server löschen.

openstack server delete <server_id>
../_images/list_of_servers_deleted.png

Die Floating IP löschen

Löschen Sie anschließend die Floating IP.

openstack floating ip delete <floating_ip_id>
../_images/delete_floating_ip.png

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:

../_images/cannot_delete_port.png

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
../_images/project_list.png

Mit folgendem Befehl zeigen Sie ein bestimmtes Projekt an:

openstack project show cloud_00341_2

Die Ausgabe sieht so aus:

../_images/show_one_project.png

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:

../_images/cannot_delete_project.png
Still need help?
If this article does not answer all of your questions, the support team will help you.
Contact support