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:

  • neutron_address_scope

    This test checks if all the operations available for address scope can be performed with the help of a vendor driver. Operations include:

    • creation
    • deletion
    • updation
    • how address scopes

Success Criteria

All the address_scope operations are operational.

  • neutron_agents

This test checks if the DHCP and L3 agent operations can be performed successfully.

Success Criteria

DHCP and L3 agent are operational.

  • neutron_attribute_extensions

This test checks if a timestamp can be associated to standard api extensions.

Success Criteria

Neutron_attribute_extensions test status is Pass, and timestamp can successfully associated.

  • neutron_availability_zones

This test checks all the standard API operations that can be applied to availability zones.

Success Criteria

Neutron_availability_zones is able to apply API operations to availability zones.

  • neutron_dhcp_extra

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.

Success Criteria

New dhcp options can successfully applied.

  • neutron_flavor

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.

Success Criteria

All the standard operations can performed with the help of a third-party plugin/driver successfully.

  • neutron_gateway_extra

This test checks if extra options related to gateways can be applied using the plugin/driver in use.

Success Criteria

Extra gateway options can successfully applied.

  • neutron_gman

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.

Success Criteria

Tenant driver delete and allocate topologies successfully.

  • neutron_ip_availability

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.

Success Criteria

Network IP and network admin are available.

  • neutron_ipv4

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.

Success Criteria

Performs all the neutron based plugin/driver ipv4 functionality successfully.

  • neutron_ipv6

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.

Success Criteria

Performs all the neutron based plugin/driver ipv6 functionality successfully.

  • neutron_l2_multi_provider

The ml2 plugins database schema and driver APIs, support virtual L2 networks made up of multiple segments. Test differentiates the supported operations.

Success Criteria

Supported operations are performing successfully.

  • neutron_l3_extra_route

This test checks the operations like updation and deletion of extra routes and if the plugin provide l3 functionality.

Success Criteria

Is able to perform updation and deletion operations successfully.

  • neutron_l3_flavors

Flavors allows the running of multiple L3 drivers in the same deployment. This test checks the creation and deletion of routers with flavors.

Success Criteria

Is able to perform creation and deletion operations is performing successfully.

  • neutron_l3_ha

High availability features are implemented as extensions and drivers. This test checks if high availability can be applied to routers.

Success Criteria

High availability can be applied to routers successfully.

  • neutron_lbaasv2

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.

Success Criteria

Performs load balancing operations (creation, updation, deletion) successfully.

  • octavia_load_balancer

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
  • Loadbalancer
  • Amphora
  • Listener
  • Pool
  • Member

Success Criteria

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.

  • neutron_mtu

This test checks if the change in MTU size is reflected in the api.

Success Criteria

MTU size is reflected.

  • neutron_qos

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.

Success Criteria

Rules and policies related to QoS applied to neutron resources successfully.

  • neutron_rbac

This test checks if all RBAC operations can be done on different neutron resources.

Success Criteria

RBAC operation can be done on different neutron resources successfully.

  • neutron_security_groups

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.

Success Criteria

Security group related operations performing successfully.

  • neutron_service_types

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.

Success Criteria

Subnet service related operations performing successfully.

  • neutron_subnet_allocation

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.

Success Criteria

Subnet pool operation of neutron performing successfully.

  • neutron_subnet_default_pool

This test checks the operations of default subnet pools.

Success Criteria

Default subnet pool operations performing successfully

  • neutron_tags

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.

Success Criteria

Tag related operations performing successfully.

  • neutron_trunk

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.

Success Criteria.

Trunk related operations performing successfully.

  • neutron_border_gateway_protocol_vpn

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:

  • create
  • delete
  • list
  • show
  • update

Success Criteria.

All the BGP VPN related operations performing successfully.