Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with Flat network

2015-02-08 Thread Li, Chen
Hi Ben,

Sorry for the burden.
It took more effort than I expected.
Finally, I think I understand what you guys have told me again and again.

Thanks very much for putting up with me and my questions.

-chen

From: Ben Swartzlander [mailto:b...@swartzlander.org]
Sent: Thursday, February 05, 2015 8:23 AM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Manila]Questions about using not handle 
share-servers drivers with Flat network


On 02/04/2015 07:01 PM, Li, Chen wrote:
Hi,

Thanks very much for the reply.
Really sorry for the late response.

In your case if you have a driver that doesn't handle share servers, then the 
network is complete out of scope for Manila. Drivers that don't manage share 
servers have neither flat not segment networking in Manila, they have NO 
networking.

ð  So, you mean there is no way I can work as I want, right ?

But, is it possible to enable that ?

I think you missed the point when I say networking is out of scope for 
non-share-server-handling drivers. All that that means is that Manila will not 
be involved with the management of the network resources for the backend or the 
network paths between the clients and the server. The reason for this is to 
allow administrators to configure the network however they like. Arbitrarily 
complicated network designs are possible when you use a driver with 
driver_manages_share_servers=False because you're free to do what you want and 
Manila doesn't care.

I think people sometimes forget that Manila doesn't want to be involved with 
network management. We only touch the network where it's unavoidable, such as 
when we have to create new virtual machines that need to be reachable over the 
network from existing VMs. There already exist many other great tools inside 
and outside of OpenStack for doing network management and we want to avoid 
duplicating or overlapping with their functionality as much as possible.


If you noticed, we're trying to enable HDFS in manila:  
https://blueprints.launchpad.net/manila/+spec/hdfs-driver
That's the main reason I want to emphasize on my driver do not handle share 
server.

Big data users want to have a unify storage when they're working in cloud.
Because instances are not reliable resource in cloud. Put data together with 
instances while making sure data's reliability would be complicated.

The biggest difference between HDFS and all currently backends manila support 
is:
HDFS has different control path and data path.
For a HDFS cluster, it has one name node and multi data nodes.
Client would talk to name node first, get data location and then talk to data 
nodes to get data.
   The Export location represent name node information only.


ð  We can't put any share-server in the middle of user instances and HDFS 
cluster.

But, it do possible to let the HDFS work in the cloud with restrictions


ð  It can only support one  share-network at one time.

This actually restrict the ability of the manila backend, no multi-tenancy at 
all.

We want to use HDFS like this:
Connect users' share-network and HDFS-cluster-network by router.
Similar to currently generic driver's behavior when 
connect_share_server_to_tenant_network = False while no share-server exist.
Access control is achieved based on its own user.

We can add some access control based on keystone users and keystone tenants to 
avoid bad users to connect to HDFS cluster at very beginning if that's possible.

Thanks.
-chen

From: Ben Swartzlander [mailto:b...@swartzlander.org]
Sent: Wednesday, January 28, 2015 12:35 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Manila]Questions about using not handle 
share-servers drivers with Flat network

On 01/27/2015 06:39 PM, Li, Chen wrote:
Hi list,

I have some questions.
Hope can get help from you guys.

Manila has two driver modes.
For handle share server drivers, the share-network is easy to understand.
For not handle share-servers drivers, manila request admin to do everything 
before manila-share service start, and when the service is running, it only 
serves requests do not contain share-network.

I kept confusing about which/why users would create shares without 
share-network. Although when working with this kind of driver, the 
manila-share service can only support one specific network restricted by the 
backend. But users do not know backends, they should always want to create 
shares with share-network, because users always want to connect shares to 
their instances that lives in the cloud with share-network.
Then I have been told that these shares created without share-network are 
assumed to be used on a public network.
The public network do make a clear explanation about why share-network not 
matter anymore.

But, when I build my cloud with Manila, what I want to do is let backends to 
serve my Flat network.

I want to have 2 backends in Manila, both of them are not handle share-servers

Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with Flat network

2015-02-04 Thread Li, Chen
Hi,

Thanks very much for the reply.
Really sorry for the late response.

In your case if you have a driver that doesn't handle share servers, then the 
network is complete out of scope for Manila. Drivers that don't manage share 
servers have neither flat not segment networking in Manila, they have NO 
networking.


ð  So, you mean there is no way I can work as I want, right ?

But, is it possible to enable that ?

If you noticed, we're trying to enable HDFS in manila:  
https://blueprints.launchpad.net/manila/+spec/hdfs-driver
That's the main reason I want to emphasize on my driver do not handle share 
server.

Big data users want to have a unify storage when they're working in cloud.
Because instances are not reliable resource in cloud. Put data together with 
instances while making sure data's reliability would be complicated.

The biggest difference between HDFS and all currently backends manila support 
is:
HDFS has different control path and data path.
For a HDFS cluster, it has one name node and multi data nodes.
Client would talk to name node first, get data location and then talk to data 
nodes to get data.
   The Export location represent name node information only.


ð  We can't put any share-server in the middle of user instances and HDFS 
cluster.

But, it do possible to let the HDFS work in the cloud with restrictions


ð  It can only support one  share-network at one time.

This actually restrict the ability of the manila backend, no multi-tenancy at 
all.

We want to use HDFS like this:
Connect users' share-network and HDFS-cluster-network by router.
Similar to currently generic driver's behavior when 
connect_share_server_to_tenant_network = False while no share-server exist.
Access control is achieved based on its own user.

We can add some access control based on keystone users and keystone tenants to 
avoid bad users to connect to HDFS cluster at very beginning if that's possible.

Thanks.
-chen

From: Ben Swartzlander [mailto:b...@swartzlander.org]
Sent: Wednesday, January 28, 2015 12:35 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Manila]Questions about using not handle 
share-servers drivers with Flat network

On 01/27/2015 06:39 PM, Li, Chen wrote:

Hi list,

I have some questions.
Hope can get help from you guys.

Manila has two driver modes.
For handle share server drivers, the share-network is easy to understand.
For not handle share-servers drivers, manila request admin to do everything 
before manila-share service start, and when the service is running, it only 
serves requests do not contain share-network.

I kept confusing about which/why users would create shares without 
share-network. Although when working with this kind of driver, the 
manila-share service can only support one specific network restricted by the 
backend. But users do not know backends, they should always want to create 
shares with share-network, because users always want to connect shares to 
their instances that lives in the cloud with share-network.
Then I have been told that these shares created without share-network are 
assumed to be used on a public network.
The public network do make a clear explanation about why share-network not 
matter anymore.

But, when I build my cloud with Manila, what I want to do is let backends to 
serve my Flat network.

I want to have 2 backends in Manila, both of them are not handle share-servers 
drivers.
I set 192.168.6.253 for backend1 and create a Flat network in neutron with 
subnet 192.168.6.0/24 with IP range from 192.168.6.1-192.168.6.252.
I set 192.168.7.253 for backend2 and create a Flat network in neutron with 
subnet 192.168.7.0/24 with IP range from 192.168.7.1-192.168.7.252.

The reason I build  my cloud like this is because I want to do some performance 
tests on both backends, to compare the two backends.

I think it should not hard to do it, but manila do not support that currently.

So, is this the behavior should work  ?
Or anything else I missed ?


Manila needs to support backends that can create share servers and backends 
that can't create share servers. We do this because of the reality that 
different storage systems have different capabilities and designs, and we don't 
want to block anything that can reasonably described as a shared filesystem 
from working with Manila.

For the purposes of Manila, a share server is a logically isolated instance of 
a file share server, with its own IP address, routing tables, security domain, 
and name services. Manila only tracks the existence of share servers that were 
created as the result of a share-create operation. Share servers created by 
manila have IP addresses assigned by Manila, and can be expected to be deleted 
by Manila sometime after the last share on that share server is deleted. 
Backends that simply create shares on a preexsting storage systems are not 
referred to as share servers and networking concerns for those systems are out

Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with Flat network

2015-02-04 Thread Li, Chen
Hi,

Thanks very much for the reply.
Really sorry for the late response.

In your case if you have a driver that doesn't handle share servers, then the 
network is complete out of scope for Manila. Drivers that don't manage share 
servers have neither flat not segment networking in Manila, they have NO 
networking.

ð  So, you mean there is no way I can work as I want, right ?

But, is it possible to enable that ?

If you noticed, we're trying to enable HDFS in manila:  
https://blueprints.launchpad.net/manila/+spec/hdfs-driver
That's the main reason I want to emphasize on my driver do not handle share 
server.

Big data users want to have a unify storage when they're working in cloud.
Because instances are not reliable resource in cloud. Put data together with 
instances while making sure data's reliability would be complicated.

The biggest difference between HDFS and all currently backends manila support 
is:
HDFS has different control path and data path.
For a HDFS cluster, it has one name node and multi data nodes.
Client would talk to name node first, get data location and then talk to data 
nodes to get data.
   The Export location represent name node information only.


ð  We can't put any share-server in the middle of user instances and HDFS 
cluster.

But, it do possible to let the HDFS work in the cloud with restrictions


ð  It can only support one  share-network at one time.

This actually restrict the ability of the manila backend, no multi-tenancy at 
all.

We want to use HDFS like this:
Connect users' share-network and HDFS-cluster-network by router.
Similar to currently generic driver's behavior when 
connect_share_server_to_tenant_network = False while no share-server exist.
Access control is achieved based on its own user.

We can add some access control based on keystone users and keystone tenants to 
avoid bad users to connect to HDFS cluster at very beginning if that's possible.

Thanks.
-chen

From: Ben Swartzlander [mailto:b...@swartzlander.org]
Sent: Wednesday, January 28, 2015 12:35 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Manila]Questions about using not handle 
share-servers drivers with Flat network

On 01/27/2015 06:39 PM, Li, Chen wrote:
Hi list,

I have some questions.
Hope can get help from you guys.

Manila has two driver modes.
For handle share server drivers, the share-network is easy to understand.
For not handle share-servers drivers, manila request admin to do everything 
before manila-share service start, and when the service is running, it only 
serves requests do not contain share-network.

I kept confusing about which/why users would create shares without 
share-network. Although when working with this kind of driver, the 
manila-share service can only support one specific network restricted by the 
backend. But users do not know backends, they should always want to create 
shares with share-network, because users always want to connect shares to 
their instances that lives in the cloud with share-network.
Then I have been told that these shares created without share-network are 
assumed to be used on a public network.
The public network do make a clear explanation about why share-network not 
matter anymore.

But, when I build my cloud with Manila, what I want to do is let backends to 
serve my Flat network.

I want to have 2 backends in Manila, both of them are not handle share-servers 
drivers.
I set 192.168.6.253 for backend1 and create a Flat network in neutron with 
subnet 192.168.6.0/24 with IP range from 192.168.6.1-192.168.6.252.
I set 192.168.7.253 for backend2 and create a Flat network in neutron with 
subnet 192.168.7.0/24 with IP range from 192.168.7.1-192.168.7.252.

The reason I build  my cloud like this is because I want to do some performance 
tests on both backends, to compare the two backends.

I think it should not hard to do it, but manila do not support that currently.

So, is this the behavior should work  ?
Or anything else I missed ?


Manila needs to support backends that can create share servers and backends 
that can't create share servers. We do this because of the reality that 
different storage systems have different capabilities and designs, and we don't 
want to block anything that can reasonably described as a shared filesystem 
from working with Manila.

For the purposes of Manila, a share server is a logically isolated instance of 
a file share server, with its own IP address, routing tables, security domain, 
and name services. Manila only tracks the existence of share servers that were 
created as the result of a share-create operation. Share servers created by 
manila have IP addresses assigned by Manila, and can be expected to be deleted 
by Manila sometime after the last share on that share server is deleted. 
Backends that simply create shares on a preexsting storage systems are not 
referred to as share servers and networking concerns for those systems are out

Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with Flat network

2015-02-04 Thread Ben Swartzlander


On 02/04/2015 07:01 PM, Li, Chen wrote:


Hi,

Thanks very much for the reply.

Really sorry for the late response.

In your case if you have a driver that doesn't handle share servers, 
then the network is complete out of scope for Manila. Drivers that 
don't manage share servers have neither flat not segment networking in 
Manila, they have NO networking.


ðSo, you mean there is no way I can work as I want, right ?

But, is it possible to enable that ?



I think you missed the point when I say networking is out of scope for 
non-share-server-handling drivers. All that that means is that Manila 
will not be involved with the management of the network resources for 
the backend or the network paths between the clients and the server. The 
reason for this is to allow administrators to configure the network 
however they like. Arbitrarily complicated network designs are possible 
when you use a driver with driver_manages_share_servers=False because 
you're free to do what you want and Manila doesn't care.


I think people sometimes forget that Manila doesn't want to be involved 
with network management. We only touch the network where it's 
unavoidable, such as when we have to create new virtual machines that 
need to be reachable over the network from existing VMs. There already 
exist many other great tools inside and outside of OpenStack for doing 
network management and we want to avoid duplicating or overlapping with 
their functionality as much as possible.


If you noticed, we’re trying to enable HDFS in manila: 
https://blueprints.launchpad.net/manila/+spec/hdfs-driver


That’s the main reason I want to emphasize on my driver do not handle 
share server.


Big data users want to have a unify storage when they’re working in cloud.

Because instances are not reliable resource in cloud. Put data 
together with instances while making sure data’s reliability would be 
complicated.


The biggest difference between HDFS and all currently backends manila 
support is:


HDFS has different control path and data path.

For a HDFS cluster, it has one name node and multi data nodes.

Client would talk to “name node” first, get data location and then 
talk to data nodes to get data.


   The “Export location” represent “name node” information only.

ðWe can’t put any “share-server” in the middle of user instances and 
HDFS cluster.


But, it do possible to let the HDFS work in the cloud with restrictions

ðIt can only support one  share-network at one time.

This actually restrict the ability of the manila backend, no 
multi-tenancy at all.


We want to use HDFS like this:

Connect users’ “share-network” and “HDFS-cluster-network” by router.

Similar to currently generic driver’s behavior when 
“connect_share_server_to_tenant_network = False” while no 
“share-server” exist.


Access control is achieved based on its own user.

We can add some access control based on keystone users and keystone 
tenants to avoid bad users to connect to HDFS cluster at very 
beginning if that’s possible.


Thanks.

-chen

*From:*Ben Swartzlander [mailto:b...@swartzlander.org]
*Sent:* Wednesday, January 28, 2015 12:35 PM
*To:* OpenStack Development Mailing List (not for usage questions)
*Subject:* Re: [openstack-dev] [Manila]Questions about using not 
handle share-servers drivers with Flat network


On 01/27/2015 06:39 PM, Li, Chen wrote:

Hi list,

I have some questions.

Hope can get help from you guys.

Manila has two driver modes.

For handle share server drivers, the share-network is easy to understand.

For not handle share-servers drivers, manila request admin to do 
everything before manila-share service start, and when the service is 
running, it only serves requests do not contain share-network.


I kept confusing about which/why users would create shares without 
share-network. Although when working with this kind of driver, the 
manila-share service can only support one specific network restricted 
by the backend. But “users” do not know backends, they should always 
want to create shares with share-network, because users always want 
to connect shares to their instances that lives in the cloud with 
“share-network”.


Then I have been told that these shares created without
share-network are assumed to be used on a public network.

The public network do make a clear explanation about why
share-network not matter anymore.

But, when I build my cloud with Manila, what I want to do is let
backends to serve my “Flat network”.

I want to have 2 backends in Manila, both of them are “*/not/*
handle share-servers drivers”.

I set 192.168.6.253 for backend1 and create a “Flat network” in
neutron with subnet 192.168.6.0/24 with IP range from
192.168.6.1-192.168.6.252.

I set 192.168.7.253 for backend2 and create a “Flat network” in
neutron with subnet 192.168.7.0/24 with IP range from
192.168.7.1-192.168.7.252

Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with Flat network

2015-01-27 Thread Ben Swartzlander

On 01/27/2015 06:39 PM, Li, Chen wrote:


Hi list,

I have some questions.

Hope can get help from you guys.

Manila has two driver modes.

For handle share server drivers, the share-network is easy to understand.

For not handle share-servers drivers, manila request admin to do 
everything before manila-share service start, and when the service is 
running, it only serves requests do not contain share-network.


I kept confusing about which/why users would create shares without 
share-network. Although when working with this kind of driver, the 
manila-share service can only support one specific network restricted 
by the backend. But “users” do not know backends, they should always 
want to create shares with share-network, because users always want 
to connect shares to their instances that lives in the cloud with 
“share-network”.


Then I have been told that these shares created without 
share-network are assumed to be used on a public network.


The public network do make a clear explanation about why 
share-network not matter anymore.


But, when I build my cloud with Manila, what I want to do is let 
backends to serve my “Flat network”.


I want to have 2 backends in Manila, both of them are “*/not/* handle 
share-servers drivers”.


I set 192.168.6.253 for backend1 and create a “Flat network” in 
neutron with subnet 192.168.6.0/24 with IP range from 
192.168.6.1-192.168.6.252.


I set 192.168.7.253 for backend2 and create a “Flat network” in 
neutron with subnet 192.168.7.0/24 with IP range from 
192.168.7.1-192.168.7.252.


The reason I build  my cloud like this is because I want to do some 
performance tests on both backends, to compare the two backends.


I think it should not hard to do it, but manila do not support that 
currently.


So, is this the behavior should work  ?

Or anything else I missed ?




Manila needs to support backends that can create share servers and 
backends that can't create share servers. We do this because of the 
reality that different storage systems have different capabilities and 
designs, and we don't want to block anything that can reasonably 
described as a shared filesystem from working with Manila.


For the purposes of Manila, a share server is a logically isolated 
instance of a file share server, with its own IP address, routing 
tables, security domain, and name services. Manila only tracks the 
existence of share servers that were created as the result of a 
share-create operation. Share servers created by manila have IP 
addresses assigned by Manila, and can be expected to be deleted by 
Manila sometime after the last share on that share server is deleted. 
Backends that simply create shares on a preexsting storage systems are 
not referred to as share servers and networking concerns for those 
systems are out of scope for Manila.


The reason we distinguish between so-called flat and segmented 
networks is to accommodate the reality that in the real world, storage 
systems often exist inside labs and datacenters where the network is not 
under the control of the storage admin. This was a key point we 
identified during Juno and one of the major reasons for the network 
rearchitecture during Kilo. If a storage controller is connected into a 
flat subnet it may be able to create share servers on that subnet, but 
nothing more fancy. To participate in multiple subnets some form of 
network virtualization or segmentation is required and oftentimes that's 
not possible either due to lack of support on the storage controller, 
lack of support in the network due to physical or administrative 
limitations, or even lack of sophistication on the part of the deployer 
(don't discount this last one -- the difficulty of getting the network 
right is a major blocker for admins who want to try out Manila).


What flat network means from Manila's perspective is that share servers 
may be created but only on a network predefined by the administrator, 
and not on any tenant-defined network. Connectivity between the tenant 
network and the share server network is considered out of scope for 
Manila. Segmented network means that Manila presumes complete control of 
the network through some powerful plugin such as Neutron such that 
Manila can connect share servers to any network specified by the tenant, 
and Manila assumes responsibility for establishing any needed routes.


In your case if you have a driver that doesn't handle share servers, 
then the network is complete out of scope for Manila. Drivers that don't 
manage share servers have neither flat not segment networking in Manila, 
they have NO networking.


I'll do a followup mail on the UI changes that are coming around share 
networks and the mess that they have become. For now, you just have to 
know that share networks should not be used with drivers that don't 
manage share servers, and they should be used with drivers that do 
manage share servers.


-Ben Swartzlander