Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 2. Managing project networks
Project networks help you to isolate network traffic for cloud computing. You can create IPv4 or IPv6 networks and subnets, and use routers to connect them.
This section contains the following topics:
- Section 2.1, “Creating a network”
- Section 2.2, “Creating a subnet”
- Section 2.3, “IPv6 subnet options”
- Section 2.4, “Create an IPv6 subnet using Stateful DHCPv6”
- Section 2.5, “DVR overview”
- Section 2.6, “Adding a router”
- Section 2.7, “Adding a subnet to a router”
- Section 2.8, “Removing a subnet from a router”
- Section 2.9, “Purging all resources and deleting a project”
- Section 2.10, “Deleting a router”
- Section 2.11, “Deleting a subnet”
- Section 2.12, “Deleting a network”
2.1. Creating a network Copier lienLien copié sur presse-papiers!
Create a network so that instances in your Red Hat OpenStack Services on OpenShift (RHOSO) can communicate with each other and receive IP addresses using DHCP. For more information about external network connections, see Bridging the physical network in Configuring networking services.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Create a network.
- Example
$ openstack network create my_networkTip-
If you do not intend to enter the network into production immediately, you can add the
--disableoption to thecreate networkcommand. -
Consider naming your network for the role that the network provides. One example:
webservers_122is a network that host web servers and the VLAN ID is122.
-
If you do not intend to enter the network into production immediately, you can add the
Verification
Confirm that the network was added:
$ openstack network list -c Name- Sample output
+-------------+ | Name | +-------------+ | my_network | | private | | public | | lb-mgmt-net | +-------------+
Next steps
-
If you need to modify the network, use the
openstack network setcommand. - Most networks need at least one subnet. Proceed to Section 2.2, “Creating a subnet”.
2.2. Creating a subnet Copier lienLien copié sur presse-papiers!
Red Hat OpenStack Services on OpenShift (RHOSO) environments rely on subnets to logically divide a network as a means to provide efficiency and isolation.
VM instances using the same subnet can communicate without passing data traffic through a router. Locating systems that require a high volume of traffic between them in the same subnet, avoids the subsequent latency and load.
By using different subnets for different purposes, you can isolate data traffic. For example, web server traffic might use one subnet, and database traffic might use another subnet. Instances that want to communicate with instances in another subnet must direct their data traffic through a router.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the name of the network to which you want to add a subnet:
$ openstack network listCreate a subnet.
$ openstack subnet create <subnet-name> --subnet-range <CIDR> --network <name>-
Replace
<subnet-name>with the name of the subnet you are creating. Replace
<CIDR>with the IP address range and subnet mask in CIDR format.To determine the CIDR address, calculate the number of bits masked in the subnet mask and append that value to the IP address range. For example, the subnet mask 255.255.255.0 has 24 masked bits. To use this mask with the IPv4 address range 192.168.122.0, specify the address 192.168.122.0/24.
Replace
<name>with the name of the network to which you are adding the subnet.TipDHCP services automate the distribution of IP settings to your instances and is enabled by default. Specify
--no-dhcpto diable DHCP.
-
Replace
Verification
Confirm that the subnet was added:
$ openstack subnet list -c Name -c Network -c Subnet --max-width=72- Sample output
+----------------------+-------------------------+---------------------+ | Name | Network | Subnet | +----------------------+-------------------------+---------------------+ | private_subnet24 | 317be3d3-5265-43f7-b52b | 10.0.24.0/24 | | | -930e3fd19b8b | | | lb-mgmt-subnet | c4588d49-9151-414b-8832 | 172.24.0.0/16 | | | -37313e3b4c57 | | | external_subnet | bcdb3cc0-8c0b-4d2d-813c | 10.0.0.0/24 | | | -e141bb97aa8f | | | external_ipv6_subnet | bcdb3cc0-8c0b-4d2d-813c | 2620:52:0:13b8::/64 | | | -e141bb97aa8f | | | private_subnet | 317be3d3-5265-43f7-b52b | 10.0.1.0/24 | | | -930e3fd19b8b | | +----------------------+-------------------------+---------------------+When you create instances, you can configure them now to use its subnet, and they receive any specified DHCP options.
Next steps
-
If you need to modify the subnet, use the
openstack subnet setcommand.
2.3. IPv6 subnet options Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, when you create IPv6 subnets in a project network you can specify address mode and router advertisement mode to obtain a particular result as described in the following table.
RHOSO does not support IPv6 prefix delegation from an external entity. You must obtain the Global Unicast Address (GUA) prefix from your external prefix delegation router and set it by using the subnet-range argument during creation of a IPv6 subnet.
- Example
$ openstack subnet create --ip-version 6\
--subnet-range 2002:c000:200::64 \
--no-dhcp \
--gateway 2002:c000:2fe:: \
--dns-nameserver 2002:c000:2fe:: \
--network provider \
provider-subnet-2002:c000:200::
- Sample output
+----------------------+--------------------------------------+
| Field | Value |
+----------------------+--------------------------------------+
| allocation_pools | 2002:c000:200::64-2002:c000:200::64 |
| cidr | 2002:c000:200::64/128 |
| created_at | 2024-09-24T19:30:07Z |
| description | |
| dns_nameservers | 2002:c000:2fe:: |
| dns_publish_fixed_ip | None |
| enable_dhcp | False |
| gateway_ip | 2002:c000:200::64 |
| host_routes | |
| id | 49dda67d-814e-457b-b14b-77ef32935c0f |
| ip_version | 6 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | provider-subnet-2002:c000:200:: |
| network_id | bcdb3cc0-8c0b-4d2d-813c-e141bb97aa8f |
| prefix_length | None |
| project_id | 24089d2fe1a94dd29ca2f665794fbe92 |
| revision_number | 0 |
| segment_id | None |
| service_types | None |
| subnetpool_id | None |
| tags | |
| updated_at | 2024-09-24T19:30:07Z |
+----------------------+--------------------------------------+
| RA Mode | Address Mode | Result |
|---|---|---|
| ipv6_ra_mode=not set | ipv6-address-mode=slaac | The instance receives an IPv6 address from the external router (not managed by OpenStack Networking) using stateless address autoconfiguration (SLAAC). Note The RHOSO Networking service (neutron) supports only EUI-64 IPv6 address assignment for SLAAC. This allows for simplified IPv6 networking, as hosts self-assign addresses based on the base 64-bits plus the MAC address. You cannot create subnets with a different netmask and address_assign_type of SLAAC. |
| ipv6_ra_mode=not set | ipv6-address-mode=dhcpv6-stateful | The instance receives an IPv6 address and optional information from the Networking service (dnsmasq) using DHCPv6 stateful. |
| ipv6_ra_mode=not set | ipv6-address-mode=dhcpv6-stateless | The instance receives an IPv6 address from the external router using SLAAC, and optional information from the Networking service (dnsmasq) using DHCPv6 stateless. |
| ipv6_ra_mode=slaac | ipv6-address-mode=not-set | The instance uses SLAAC to receive an IPv6 address from the Networking service (radvd). |
| ipv6_ra_mode=dhcpv6-stateful | ipv6-address-mode=not-set | The instance receives an IPv6 address and optional information from an external DHCPv6 server using DHCPv6 stateful. |
| ipv6_ra_mode=dhcpv6-stateless | ipv6-address-mode=not-set | The instance receives an IPv6 address from the Networking service (radvd) using SLAAC, and optional information from an external DHCPv6 server using DHCPv6 stateless. |
| ipv6_ra_mode=slaac | ipv6-address-mode=slaac | The instance receives an IPv6 address from the Networking service (radvd) using SLAAC. |
| ipv6_ra_mode=dhcpv6-stateful | ipv6-address-mode=dhcpv6-stateful | The instance receives an IPv6 address from OpenStack Networking (dnsmasq) using DHCPv6 stateful, and optional information from OpenStack Networking (dnsmasq) using DHCPv6 stateful. |
| ipv6_ra_mode=dhcpv6-stateless | ipv6-address-mode=dhcpv6-stateless | The instance receives an IPv6 address from OpenStack Networking (radvd) using SLAAC, and optional information from OpenStack Networking (dnsmasq) using DHCPv6 stateless. |
2.4. Create an IPv6 subnet using Stateful DHCPv6 Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, you can create an IPv6 subnet in a Red Hat OpenStack (RHOSP) project network.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the project ID of the project where you want to create the IPv6 subnet.
Retain this ID, because you will need it later:
$ openstack project list- Sample output
+----------------------------------+----------+ | ID | Name | +----------------------------------+----------+ | 25837c567ed5458fbb441d39862e1399 | QA | | f59f631a77264a8eb0defc898cb836af | admin | | 4e2e1951e70643b5af7ed52f3ff36539 | demo | | 8561dff8310e4cd8be4b6fd03dc8acf5 | services | +----------------------------------+----------+
Obtain the name of the network where you want to host the IPv6 subnet.
Retain this name, because you will need it later:
$ openstack network list -c Name -c Subnets --max-width=72- Sample output
+-------------+--------------------------------------------------------+ | Name | Subnets | +-------------+--------------------------------------------------------+ | private | 47d34cf0-0dd2-49bd-a985-67311d80c5c4, | | | 82014d36-9e60-43eb-92fc-74674573f4e8, | | | d7535565-113f-4192-baa6-da21f301f141 | | private2 | 7ee56cef-83c0-40d1-b4e7-5287dae1c23c | | public | 6745edd4-d15f-4971-89bf-70307b0ad2f1, | | | cc3f81bb-4d55-4ead-aad4-5362a7ca5b04 | | lb-mgmt-net | 5ca08724-568c-4030-93eb-f2e286570a25 | +-------------+--------------------------------------------------------+
Using the project ID and network name, create an IPv6 subnet:
- Example
$ openstack subnet create --ip-version 6 --ipv6-address-mode \ dhcpv6-stateful --project 25837c567ed5458fbb441d39862e1399 \ --network private2 --subnet-range fdf8:f53b:82e4::53/125 \ subnet_name- Sample output
+-------------------+--------------------------------------------------------------+ | Field | Value | +-------------------+--------------------------------------------------------------+ | allocation_pools | {"start": "fdf8:f53b:82e4::52", "end": "fdf8:f53b:82e4::56"} | | cidr | fdf8:f53b:82e4::53/125 | | dns_nameservers | | | enable_dhcp | True | | gateway_ip | fdf8:f53b:82e4::51 | | host_routes | | | id | cdfc3398-997b-46eb-9db1-ebbd88f7de05 | | ip_version | 6 | | ipv6_address_mode | dhcpv6-stateful | | ipv6_ra_mode | | | name | | | network_id | 6aff6826-4278-4a35-b74d-b0ca0cbba340 | | tenant_id | 25837c567ed5458fbb441d39862e1399 | +-------------------+--------------------------------------------------------------+
Verification
Validate this configuration by reviewing the network list.
$ openstack network list -c Name -c Subnets --max-width=72- Sample output
Note that the entry for
private2now reflects the newly created IPv6 subnet:---------------------------------------------------------------------+ | Name | Subnets | ---------------------------------------------------------------------+ | private | 47d34cf0-0dd2-49bd-a985-67311d80c5c4, | | | 82014d36-9e60-43eb-92fc-74674573f4e8, | | | d7535565-113f-4192-baa6-da21f301f141 | | private2 | 7ee56cef-83c0-40d1-b4e7-5287dae1c23c, | | | cdfc3398-997b-46eb-9db1-ebbd88f7de05 | | public | 6745edd4-d15f-4971-89bf-70307b0ad2f1, | | | cc3f81bb-4d55-4ead-aad4-5362a7ca5b04 | | lb-mgmt-net | 5ca08724-568c-4030-93eb-f2e286570a25 | ---------------------------------------------------------------------+
Create an instance, and confirm that the instance is associated with a DHCP IPv6 address when added to the
private2subnet:$ openstack server list -c Name -c Status -c Networks- Sample output
+---------+--------+-----------------------------+ | Name | Status | Networks | +---------+--------+-----------------------------+ | server1 | ACTIVE | private2=fdf8:f53b:82e4::52 | +---------+--------+-----------------------------+
2.5. DVR overview Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, distributed virtual routing (DVR) isolates the failure domain of the control plane and optimizes network traffic by using layer 3 high availability (L3 HA) and scheduling routers on every Compute node. DVR has these characteristics:
- East-West traffic is routed directly on the Compute nodes in a distributed fashion.
- North-South traffic that uses floating IP addresses is distributed and routed on the Compute nodes. This requires the external network to be connected to every Compute node.
- North-South traffic without floating IP addresses (SNAT traffic) is not distributed.
- The OVN metadata agent is distributed and deployed on all Compute nodes. The metadata proxy service is hosted on all the distributed routers.
2.6. Adding a router Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, the Networking service (neutron) provides routing services using an SDN-based virtual router. Routers are a requirement for your instances to communicate with external subnets, including those in the physical network. Routers and subnets connect using interfaces, with each subnet requiring its own interface to the router.
The default gateway of a router defines the next hop for any traffic received by the router. Its network is typically configured to route traffic to the external physical network using a virtual bridge.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Create a router.
$ openstack router create <router-name> --external-gateway <network> \ --project <name>-
Replace
<router-name>with the name of the router you are creating. -
Replace
<network>with the name of an external network. Replace
<name>with the name of your project.TipIf you want to create a router in an availability zone (AZ) add the
--availability-zone-hint <availability-zone>option. Repeat the option to set multiple AZs.
-
Replace
Verification
Confirm that the router was created:
$ openstack router list -c Name -c Status -c State -c Project- Sample output
+---------+--------+-------+----------------------------------+ | Name | Status | State | Project | +---------+--------+-------+----------------------------------+ | router1 | ACTIVE | UP | 24089d2fe1a94dd29ca2f665794fbe92 | | router2 | ACTIVE | UP | ecf285621c509223ade3358691bbde59 | +---------+--------+-------+----------------------------------+
Next steps
- Proceed to Adding a subnet to a router.
2.7. Adding a subnet to a router Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, to allow traffic to be routed to and from your network, you must add an interface to the subnet to an existing virtual router.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient- You have access to a virtual router.
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the virtual router name that you are using to route traffic to and from your network.
Retain this name, because you will need it later:
$ openstack router list- Sample output
+---------+--------+-------+----------------------------------+ | Name | Status | State | Project | +---------+--------+-------+----------------------------------+ | router1 | ACTIVE | UP | 24089d2fe1a94dd29ca2f665794fbe92 | | router2 | ACTIVE | UP | ecf285621c509223ade3358691bbde59 | +---------+--------+-------+----------------------------------+
Obtain the name of the subnet for which you want to add an interface for your router.
Retain this name, because you will need it later:
$ openstack subnet list -c Name -c Network -c Subnet --max-width=72- Sample output
+----------------------+-------------------------+---------------------+ | Name | Network | Subnet | +----------------------+-------------------------+---------------------+ | private_subnet24 | 317be3d3-5265-43f7-b52b | 10.0.24.0/24 | | | -930e3fd19b8b | | | lb-mgmt-subnet | c4588d49-9151-414b-8832 | 172.24.0.0/16 | | | -37313e3b4c57 | | | external_subnet | bcdb3cc0-8c0b-4d2d-813c | 10.0.0.0/24 | | | -e141bb97aa8f | | | external_ipv6_subnet | bcdb3cc0-8c0b-4d2d-813c | 2620:52:0:13b8::/64 | | | -e141bb97aa8f | | | private_subnet | 317be3d3-5265-43f7-b52b | 10.0.1.0/24 | | | -930e3fd19b8b | | +----------------------+-------------------------+---------------------+
Using the router and subnet names, add an interface to your router for the subnet.
- Example
In this example,
private_subnetis added as an interface onrouter2:$ openstack router add subnet router2 private_subnet
Verification
Confirm that the router lists the interface that was added:
- Example
$ openstack router show router2 --max-width=72- Sample output
---------------------------------------------------------------------+ | Field | Value | ---------------------------------------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2024-09-09T06:27:48Z | | description | | | external_gateway_info | {"network_id": | | | "bcdb3cc0-8c0b-4d2d-813c-e141bb97aa8f", | | | "external_fixed_ips": [{"subnet_id": | | | "6745edd4-d15f-4971-89bf-70307b0ad2f1", | | | "ip_address": "10.0.0.167"}, {"subnet_id": | | | "cc3f81bb-4d55-4ead-aad4-5362a7ca5b04", | | | "ip_address": "2620:52:0:13b8::1000:85"}], | | | "enable_snat": true} | | flavor_id | None | | id | 9119eade-cf28-42d7-a33d-eb589469bf62 | | interfaces_info | [{"port_id": | | | "5a40b083-27d0-4691-8208-99c507181a33", | | | "ip_address": "10.0.24.1", "subnet_id": | | | "47d34cf0-0dd2-49bd-a985-67311d80c5c4"}, | | | {"port_id": | | | "642e522e-2cbd-47b5-8f8b-88c1b5d5e535", | | | "ip_address": "10.1.2.1", "subnet_id": | | | "7ee56cef-83c0-40d1-b4e7-5287dae1c23c"}, | | | {"port_id": | | | "9f695259-680c-40a8-bbed-9ca84dd77c33", | | | "ip_address": "10.0.1.1", "subnet_id": | | | "d7535565-113f-4192-baa6-da21f301f141"}, | | | {"port_id": | | | "f43a55a7-2e91-4cb7-a6b2-b3b686fc2ebd", | | | "ip_address": "10.0.2.1", "subnet_id": | | | "317be3d3-5265-43f7-b52b-930e3fd19b8b"}] | | name | router2 | | project_id | ecf285621c509223ade3358691bbde59 | | revision_number | 7 | | routes | | | status | ACTIVE | | tags | | | updated_at | 2024-09-09T09:28:40Z | ---------------------------------------------------------------------+
2.8. Removing a subnet from a router Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, if you no longer require a router to direct network traffic to a subnet, you can remove the corresponding interface from the router.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient- You have access to a virtual router.
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the virtual router name that contains the interface to a subnet that you want to remove.
Retain this name, because you will need it later:
$ openstack router list- Sample output
+---------+--------+-------+----------------------------------+ | Name | Status | State | Project | +---------+--------+-------+----------------------------------+ | router1 | ACTIVE | UP | 24089d2fe1a94dd29ca2f665794fbe92 | | router2 | ACTIVE | UP | ecf285621c509223ade3358691bbde59 | +---------+--------+-------+----------------------------------+
Obtain the name of the subnet that you are using as the interface for your router.
Retain this name, because you will need it later:
$ openstack subnet list -c Name -c Network -c Subnet --max-width=72- Sample output
+----------------------+-------------------------+---------------------+ | Name | Network | Subnet | +----------------------+-------------------------+---------------------+ | private_subnet24 | 317be3d3-5265-43f7-b52b | 10.0.24.0/24 | | | -930e3fd19b8b | | | lb-mgmt-subnet | c4588d49-9151-414b-8832 | 172.24.0.0/16 | | | -37313e3b4c57 | | | external_subnet | bcdb3cc0-8c0b-4d2d-813c | 10.0.0.0/24 | | | -e141bb97aa8f | | | external_ipv6_subnet | bcdb3cc0-8c0b-4d2d-813c | 2620:52:0:13b8::/64 | | | -e141bb97aa8f | | | private_subnet | 317be3d3-5265-43f7-b52b | 10.0.1.0/24 | | | -930e3fd19b8b | | +----------------------+-------------------------+---------------------+
Using the router and subnet names, remove the interface from your router.
- Example
In this example,
private_subnetis removed as an interface onrouter2:$ openstack router remove subnet router2 private_subnet
Verification
Confirm that the subnet has been removed from the router:
- Example
$ openstack router show router2 --max-width=72- Sample output
---------------------------------------------------------------------+ | Field | Value | ---------------------------------------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2024-09-09T06:27:48Z | | description | | | external_gateway_info | {"network_id": | | | "bcdb3cc0-8c0b-4d2d-813c-e141bb97aa8f", | | | "external_fixed_ips": [{"subnet_id": | | | "6745edd4-d15f-4971-89bf-70307b0ad2f1", | | | "ip_address": "10.0.0.167"}, {"subnet_id": | | | "cc3f81bb-4d55-4ead-aad4-5362a7ca5b04", | | | "ip_address": "2620:52:0:13b8::1000:85"}], | | | "enable_snat": true} | | flavor_id | None | | id | 9119eade-cf28-42d7-a33d-eb589469bf62 | | interfaces_info | [{"port_id": | | | "5a40b083-27d0-4691-8208-99c507181a33", | | | "ip_address": "10.0.24.1", "subnet_id": | | | "47d34cf0-0dd2-49bd-a985-67311d80c5c4"}, | | | {"port_id": | | | "642e522e-2cbd-47b5-8f8b-88c1b5d5e535", | | | "ip_address": "10.1.2.1", "subnet_id": | | | "7ee56cef-83c0-40d1-b4e7-5287dae1c23c"}, | | | {"port_id": | | | "9f695259-680c-40a8-bbed-9ca84dd77c33", | | | "ip_address": "10.0.1.1", "subnet_id": | | | "d7535565-113f-4192-baa6-da21f301f141"}, | | name | router2 | | project_id | ecf285621c509223ade3358691bbde59 | | revision_number | 7 | | routes | | | status | ACTIVE | | tags | | | updated_at | 2024-09-09T11:14:33Z | ---------------------------------------------------------------------+
2.9. Purging all resources and deleting a project Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, you can delete all resources that belong to a particular project as well as deleting the project, too.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Using the project name, delete the project and all of the resources associated with the project:
- Example
In this example,
test-projectis deleted:$ openstack project purge --project test-project
Verification
Confirm that the project has been deleted:
$ openstack project list- Sample output
+----------------------------------+--------------+ | ID | Name | +----------------------------------+--------------+ | 519e6344f82e4c079c8e2eabb690023b | services | | 80bf5732752a41128e612fe615c886c6 | demo | | 98a2f53c20ce4d50a40dac4a38016c69 | admin | +----------------------------------+--------------+
2.10. Deleting a router Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, you can delete a router if it has no connected interfaces.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient- No interfaces are connected to the router that you want to delete.
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the name of the router that you want to delete.
Retain this name, because you will need it later.
$ openstack router list -c Name -c Status -c State -c Project- Sample output
+---------+--------+-------+----------------------------------+ | Name | Status | State | Project | +---------+--------+-------+----------------------------------+ | router1 | ACTIVE | UP | 24089d2fe1a94dd29ca2f665794fbe92 | | router2 | ACTIVE | UP | ecf285621c509223ade3358691bbde59 | +---------+--------+-------+----------------------------------+
Using the router name, delete the router.
- Example
In this example,
router2is deleted:$ openstack router delete router2
Verification
Confirm that the router was deleted:
$ openstack router list -c Name -c Status -c State -c Project- Sample output
+---------+--------+-------+----------------------------------+ | Name | Status | State | Project | +---------+--------+-------+----------------------------------+ | router1 | ACTIVE | UP | 24089d2fe1a94dd29ca2f665794fbe92 | +---------+--------+-------+----------------------------------+
2.11. Deleting a subnet Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, you can delete a subnet if it is no longer in use.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient- No instances are configured to use the subnet that you want to delete.
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the name of the subnet that you want to delete.
Retain this name, because you will need it later.
$ openstack subnet list- Sample output
+----------------------+-------------------------+---------------------+ | Name | Network | Subnet | +----------------------+-------------------------+---------------------+ | private_subnet24 | 317be3d3-5265-43f7-b52b | 10.0.24.0/24 | | | -930e3fd19b8b | | | lb-mgmt-subnet | c4588d49-9151-414b-8832 | 172.24.0.0/16 | | | -37313e3b4c57 | | | external_subnet | bcdb3cc0-8c0b-4d2d-813c | 10.0.0.0/24 | | | -e141bb97aa8f | | | private2_subnet | 56e73380-a771-408f-bdc0 | 10.1.2.0/24 | | | -1e97f79677c6 | | | private_subnet2 | 317be3d3-5265-43f7-b52b | 10.0.2.0/24 | | | -930e3fd19b8b | | | external_ipv6_subnet | bcdb3cc0-8c0b-4d2d-813c | 2620:52:0:13b8::/64 | | | -e141bb97aa8f | | | private_subnet | 317be3d3-5265-43f7-b52b | 10.0.1.0/24 | | | -930e3fd19b8b | | +----------------------+-------------------------+---------------------+
Using the subnet name, delete the subnet.
- Example
In this example,
private_subnet24is deleted:$ openstack subnet delete private_subnet24
Verification
Confirm that the subnet was deleted:
$ openstack subnet list -c Name -c Network -c Subnet --max-width=72- Sample output
+----------------------+-------------------------+---------------------+ | Name | Network | Subnet | +----------------------+-------------------------+---------------------+ | lb-mgmt-subnet | c4588d49-9151-414b-8832 | 172.24.0.0/16 | | | -37313e3b4c57 | | | external_subnet | bcdb3cc0-8c0b-4d2d-813c | 10.0.0.0/24 | | | -e141bb97aa8f | | | private2_subnet | 56e73380-a771-408f-bdc0 | 10.1.2.0/24 | | | -1e97f79677c6 | | | private_subnet2 | 317be3d3-5265-43f7-b52b | 10.0.2.0/24 | | | -930e3fd19b8b | | | external_ipv6_subnet | bcdb3cc0-8c0b-4d2d-813c | 2620:52:0:13b8::/64 | | | -e141bb97aa8f | | | private_subnet | 317be3d3-5265-43f7-b52b | 10.0.1.0/24 | | | -930e3fd19b8b | | +----------------------+-------------------------+---------------------+
2.12. Deleting a network Copier lienLien copié sur presse-papiers!
In Red Hat OpenStack Services on OpenShift (RHOSO) environments, there are occasions where it becomes necessary to delete a network that was previously created, perhaps as housekeeping or as part of a decommissioning process.
Prerequisites
-
The administrator has created a project for you and has provided you with a
clouds.yamlfile for you to access the cloud. The
python-openstackclientpackage resides on your workstation.$ dnf list installed python-openstackclient- No interfaces are connected to the network that you want to delete.
Procedure
Confirm that the system
OS_CLOUDvariable is set for your cloud:$ echo $OS_CLOUD my_cloudReset the variable if necessary:
$ export OS_CLOUD=my_other_cloudAs an alternative, you can specify the cloud name by adding the
--os-cloud <cloud_name>option each time you run anopenstackcommand.Obtain the name of the network that you want to delete.
Retain this name, because you will need it later.
$ openstack network list -c Name- Sample output
+-------------+ | Name | +-------------+ | my_network | | private | | public | | lb-mgmt-net | +-------------+
Using the network name, delete the network.
- Example
In this example,
my_networkis deleted:$ openstack network delete my_network
Verification
Confirm that the network was deleted:
$ openstack network list -c Name- Sample output
+-------------+ | Name | +-------------+ | private | | public | | lb-mgmt-net | +-------------+