diff --git a/manila/network/neutron/api.py b/manila/network/neutron/api.py index d7931270a5..b19d66df4d 100644 --- a/manila/network/neutron/api.py +++ b/manila/network/neutron/api.py @@ -241,13 +241,15 @@ class API(object): raise exception.NetworkException(code=e.status_code, message=e.message) - def subnet_create(self, tenant_id, net_id, name, cidr): + def subnet_create(self, tenant_id, net_id, name, cidr, no_gateway=False): subnet_req_body = {'subnet': {}} subnet_req_body['subnet']['tenant_id'] = tenant_id subnet_req_body['subnet']['name'] = name subnet_req_body['subnet']['network_id'] = net_id subnet_req_body['subnet']['cidr'] = cidr subnet_req_body['subnet']['ip_version'] = 4 + if no_gateway: + subnet_req_body['subnet']['gateway_ip'] = None try: return self.client.create_subnet( subnet_req_body).get('subnet', {}) diff --git a/manila/share/drivers/service_instance.py b/manila/share/drivers/service_instance.py index 9fc2e4821e..a3e02c83d3 100644 --- a/manila/share/drivers/service_instance.py +++ b/manila/share/drivers/service_instance.py @@ -893,7 +893,8 @@ class NeutronNetworkHelper(BaseNetworkhelper): network_data['service_subnet'] = ( self.neutron_api.subnet_create( self.admin_project_id, self.service_network_id, - subnet_name, self._get_cidr_for_subnet())) + subnet_name, self._get_cidr_for_subnet(), + self.connect_share_server_to_tenant_network)) network_data['ports'] = [] diff --git a/releasenotes/notes/do-not-create-default-route-66ff4199b60e35c7.yaml b/releasenotes/notes/do-not-create-default-route-66ff4199b60e35c7.yaml new file mode 100644 index 0000000000..c7d399d3d2 --- /dev/null +++ b/releasenotes/notes/do-not-create-default-route-66ff4199b60e35c7.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - default route for service subnet wouldn't be created if + connect_share_server_to_tenant_network is on