Update my proposal again: As a new bird for manila, I start using/learning manila with generic driver. When I reached driver mode,I became really confuing, because I can't stop myself jump into ideas: share server == nova instance & svm == share virtual machine == nova instance.
Then I tried glusterFS, it is working under "single_svm_mode", I asked why it is "single" mode, the answer I get is " This is approach without usage of "share-servers"" ==> without using "share-servers", then why "single" ??? More confusing ! :( Now I know, the mistake I made is ridiculous. Great thanks to vponomaryov & ganso, they made big effort helping me to figure out why I'm wrong. But, I don't think I'm the last one person making this mistake. So, I hope we can change the driver mode name less confusing and more easy to understand. First, "svm" should be removed, at least change it to ss (share-server), make it consistent with "share-server". I don't like single/multi, because that makes me think of numbers of share-servers, makes me want to ask:" if I create a share, that share need multi share-servers ? why ?" Also, when I trying glusterFS (installed it following http://www.gluster.org/community/documentation/index.php/QuickStart), when I testing the GlusterFS volume, it said: "use one of the servers to mount the volume". Isn't that means using any server in the cluster can work and their work has no difference. So, is there a way to change glusterFS driver to add more than one "glusterfs_target", and all glusterfs_targets are replications for each other. Then when manila create a share, chose one target to use. This would distribute data traffic to the cluster, higher bandwidth, higher performance, right ? ==> This is "single_svm_mode", but obviously not "single". vponomaryov & ganso suggested basic_mode" and "advanced_mode", but I think basic/advanced is more driver perspective concept. Different driver might already have its own concept of basic advanced, beyong manila scope. This would make admin & driver programmer confusing. As "single_svm_mode" indicate driver just have "information" about "where" to go and "how", it is gotten by config opts and some special actions of drivers while "multi_svm_mode" need to create "where" and "how" with "infomation". My suggestion is "single_svm_mode" ==> "static_mode" "multi_svm_mode" ==> "dynamic_mode". As "where" to go and "how" are "static" under "single_svm_mode", but "dynamically" create/delete by manila under "multi_svm_mode". Also, about the share-server concept. "share-server" is a tenant point of view concept, it does not know if it is a VM or a dedicated hardware outside openstack because it is not visible to the tenant. Each share has its own "share-server", no matter how it get(get from configuration under single_svm_mode, get from manila under multi_svm_mode). I get the wrong idea that about glusterFS has no share server based on https://github.com/openstack/manila/blob/master/manila/share/manager.py#L238, without reading driver code, isn't this saying: I create share without share-server. But, the truth is just share-server is not handled by manila, doesn't mean it not exist. E.g. in glusterFS, the share-server is "self.gluster_address". So, I suggest to edit ShareManager code to get share_server before create_share based on driver mode. Such as: http://paste.openstack.org/show/155930/ This would affect all drivers, but I think it is worth for long term perspective. Hope to hear from you guys. Thanks. -chen
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev