generic driver: service instance ends up with 2 ports in the admin network

Bug #1946002 reported by Arturo Borrero Gonzalez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
New
Undecided
Unassigned

Bug Description

Thanks for your hard work with Openstack Manila, really appreciated.

I found this odd behavior when trying the following setup:

* flat network topology (all VMs in all tenants share the same neutron net/subnet)
* manila.conf uses generic driver with DHSS=true
* manila.conf sets up both admin_network_id = XXXX and admin_subnet_id = YYYY
* manila.conf sets up connect_share_server_to_tenant_network = True

According to the source code [0], this is the only way to instruct the driver to don't create a dedicated service network, and use the admin-defined network for the service instance.

As of this writing the source reads:

=== 8< ===
        if self.admin_network_id and self.admin_subnet_id:
            self.use_admin_port = True
        if self.use_admin_port and self.connect_share_server_to_tenant_network:
            self.use_service_network = False
=== 8< ===

However, later on in the source code [1], when the service instance is being created, it ends up creating 2 ports, with 2 IP addresses in the same admin subnet. If you read the code, one port is called 'public_port' and the other 'admin_port'.

A linux server with 2 interfaces with different addresses in the same subnet is a failure for several reasons.

I would expect the generic driver to detect if is trying to create ports on the exact same subnet and avoid doing it.

regards.

[0] https://opendev.org/openstack/manila/src/branch/master/manila/share/drivers/service_instance.py#L781
[1] https://opendev.org/openstack/manila/src/branch/master/manila/share/drivers/service_instance.py#L900

Tags: driver generic
Vida Haririan (vhariria)
tags: added: driver generic
Revision history for this message
Vida Haririan (vhariria) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers