Chapter 9. Neutron
The openstack/neutron test is only applicable to OpenStack products/components that implement OpenStack features for the OpenStack networking Service. For more information, see Section 2.1, “Products Implementing Openstack APIs”.
These tests cover OpenStack networking-component feature testing, which includes basic and operational functional testing using the Tempest Framework that is integrated in the RHOSP. Neutron includes networking, IP address management (IPAM), and router support to enable routing between internal and external network.
9.1. Neutron Test
Based on the solutions provided by Partners, RHT will define a test plan in RH-cert web UI along with the test(s) that Partners needs to perform.The neutron tests execute networking-component selected feature test(s) and, checks the plugin/driver functionality.The neutron test includes and supports the following features:
This test checks if all the operations available for address scope can be performed with the help of a vendor driver. Operations include:
- how address scopes
All the address_scope operations are operational.
This test checks if the DHCP and L3 agent operations can be performed successfully.
DHCP and L3 agent are operational.
This test checks if a timestamp can be associated to standard api extensions.
Neutron_attribute_extensions test status is Pass, and timestamp can successfully associated.
This test checks all the standard API operations that can be applied to availability zones.
Neutron_availability_zones is able to apply API operations to availability zones.
The DHCP options extension allows adding DHCP options that are associated to a Neutron port. You can specify a DHCP options when defining or updating a port by specifying the extra_dhcp_opts tag and providing its options as name value pairs. All the port related operations with extra_dhcp_opts is tested to check if the new options can be applied.
New dhcp options can successfully applied.
The purpose of a Flavor Framework is to provide an API that allows the user to choose the type of service by a set of advertised service capabilities rather than by a provider type or named vendor. This test checks if all the standard flavor operations can be done with the help of a third-party plugin/driver.
All the standard operations can performed with the help of a third-party plugin/driver successfully.
This test checks if extra options related to gateways can be applied using the plugin/driver in use.
Extra gateway options can successfully applied.
In some cloud deployments using Neutron, there is a need for each tenant to configure resources, like a network, subnet and router, before they are able to boot a VM. This test checks if as a tenant driver you can delete or get the allocated topologies.
Tenant driver delete and allocate topologies successfully.
It allows a user or process to determine number of IP addresses that are consumed across networks and the allocation pools of their subnets. The test checks the availability of network admin and network ip after performing operations on related resources like subnet and port addition and deletion.
Network IP and network admin are available.
This test checks all the plugin/driver for neutron based capabilities like network, ports, routers, quotas, subnet pools, allowed_address_pair, external_networks and address_scope with respect to ipv4 address scheme.
Performs all the neutron based plugin/driver ipv4 functionality successfully.
This test checks all the plugin/driver for neutron based capabilities like network, ports, routers, quotas, subnet pools, allowed_address_pair, external_networks and address_scope with respect to ipv6 address scheme.
Performs all the neutron based plugin/driver ipv6 functionality successfully.
The ml2 plugins database schema and driver APIs, support virtual L2 networks made up of multiple segments. Test differentiates the supported operations.
Supported operations are performing successfully.
This test checks the operations like updation and deletion of extra routes and if the plugin provide l3 functionality.
Is able to perform updation and deletion operations successfully.
Flavors allows the running of multiple L3 drivers in the same deployment. This test checks the creation and deletion of routers with flavors.
Is able to perform creation and deletion operations is performing successfully.
High availability features are implemented as extensions and drivers. This test checks if high availability can be applied to routers.
High availability can be applied to routers successfully.
Load Balancing as a Service (LBaaS) v2 allows you to configure multiple listener ports on a single load balancer IP address. All the operation on load balancers are tested and checked to verify if LB’s can be created, updated, deleted.
Performs load balancing operations (creation, updation, deletion) successfully.
LBaaS v2 supports Octavia plugins. If a Partner driver or a plugin supports this feature, the certification test runs will include results of octavia_load_balancer test. This test is implemented on Red Hat OpenStack Director based installation.
Octavia test checks the Load balancer creation flow with its following features:
- Health Manager
- Housekeeping Manager
The test performs create, read, update, and delete operations on the Octavia load balancer features. Successful PASS operations signifies that all the Octavia related features are working for a Partner plugin.
This test checks if the change in MTU size is reflected in the api.
MTU size is reflected.
QoS is defined as the ability to guarantee certain network requirements like bandwidth, latency, jitter, and reliability in order to satisfy a Service Level Agreement (SLA) between an application provider and end users.This test checks if all the rules and policies related to QoS can be applied properly to neutron resources.
Rules and policies related to QoS applied to neutron resources successfully.
This test checks if all RBAC operations can be done on different neutron resources.
RBAC operation can be done on different neutron resources successfully.
Security groups and security group rules allows administrators and tenants the ability to specify the type of traffic and direction (ingress/egress) that is allowed to pass through a port. A security group is a container for security group rules.This test checks all the security groups related operations that can be done if the driver/plugin implements the functionality.
Security group related operations performing successfully.
Using this feature, Partners can ensure that ports always use different subnets, for example instances and router interfaces,. This test checks if all the basic operations of subnet service types can be done properly.
Subnet service related operations performing successfully.
It involves automatically allocating addresses for subnets instead of requesting subnet details at the time of creation. This test checks the testing of the subnet pool feature of neutron.
Subnet pool operation of neutron performing successfully.
This test checks the operations of default subnet pools.
Default subnet pool operations performing successfully
Various virtual networking resources support tags for use by external systems or any other clients of the Networking service API. This test checks if all the tag related operations can be performed.
Tag related operations performing successfully.
The network trunk service allows multiple networks to be connected to an instance using a single virtual NIC (vNIC). Multiple networks can be presented to an instance by connecting it to a single port. This test checks if all the trunk related operations can be done.
Trunk related operations performing successfully.
This is a new test introduced in RHOSP16 and corresponds to the new feature Border Gateway Protocol Virtual Private Network(BGP VPN).
BGP VPN supports inter-connection between L3VPNs and Neutron resources, such as Networks, Routers and Ports. To deliver an isolated connectivity between multiple sites, BGP-based VPNs allow a network operator to provide a VPN service to its customers.
BGP VPN allows your instances to connect to your existing layer 3 VPN services. Once a BGP VPN network is created, you can associate it with a project, allowing the project’s users to connect to the BGP VPN network.
The neutron_border_gateaway_protocol_vpn test certifies following tempest test operations:
All the BGP VPN related operations performing successfully.