M a y 2 0 1 8 O p e n S t a c k M a n i l a P r o j e c t U p d a t e , O p e n S t a c k S u m m i t V a n c o u v e r T o m B a r r o n I R C : t b a r r o n E M A I L : t b a r r o n @r e d h a t . c o m , t p b @d y n c l o u d . n e t
A g e n d a Wh a t ’ s M a n i l a P r o b l e m S p a c e , P r o b l e m B a c k g r o u n d Q u e e n s R e l e a s e U p d a t e A P I c h a n g e s , F e a t u r e s , D r i v e r i m p r o v e m e n t s R o c k y a n d B e y o n d P r i o r i t i e s , T h e m e s
M a n i l a ? M a n i l a i s t h e c o n t r o l p l a n e t o p r o v i s i o n a n d m a n a g e s h a r e d fi l e s y s t e m s a c r o s s s t o r a g e s y s t e m s . O n e p o p u l a r o v e r s i m p l i fi c a t i o n : M a n i l a i s C i n d e r f o r fi l e s h a r e s . F o r k o f O p e n S t a c k C i n d e r , b u i l t b y a s h a r e d p o o l o f d e v e l o p e r s , s h a r e s m u c h o f C i n d e r ’ s a r c h i t e c t u r e . B u t i t s o l v e s a n e w c l a s s o f p r o b l e m s t h a t C i n d e r d o e s n o t n a t u r a l l y a d d r e s s . Think: manila file folders
● Consistent, simple REST API M a n i l a ? ● Open Source drivers & drivers for proprietary vendor back ends (close to 30 now) ● Multiple NAS protocols ● Queens release had 41 unique reviewers and 44 unique contributors representing 21 companies ● 7 th production quality release ● Growing adoption (Ocata user survey: 14%) ● Increasing development activity and use outside manila proper in TripleO, Kolla, Charms, gophercloud, gophercloud, etc. to integrate and deploy manila both inside and outside of OpenStack proper
Q u e e n s 17th release of OpenStack / 7 th official release of Manila
A P I C h a n g e s X - O p e n s t a c k - M a n i l a - A P I - V e r s i o n 2.42 2.41 ‘description’ in share-type create/list ‘with count’ in share-list APIs APIs
N e w i n Q u e e n s – I P v 6 g e t s r e a l P i k e a d d e d s u p p o r t f o r I P v 6 e x p o r t s a n d a c c e s s r u l e s B u t l a c k e d d r i v e r s u p p o r t e x c e p t f o r t h e L V M b a c k e n d . * N e t A p p * D e l l E M C U n i t y * D e l l E M C V N X * fi x e d s o m e n a s t y b u g s * I P v 6 s c e n a r i o t e s t s i n u p s t r e a m C I
N e w i n Q u e e n s – g e t t o t a l c o u n t i n f o i n s h a r e l i s t A P I s • Now we don’t have to list all the instances of the shares for a user in order to show how much they are using. • Real world use case (Huawei public cloud) • API change, backwards compatible
N e w i n Q u e e n s – s ma r t e n s u r e - s h a r e • When the manila-share service starts up an internal method called ‘ensure-share’ is run to reconcile manila’s view of the back end state as maintained in its database with the back end’s actual state. • Export locations could have changed – e.g. back end became IPv6 capable. • Back end software could have been upgraded • Driver can ensure that back end state is correct or update manila’s state as appropriate. • Most of the time nothing needs to be done but if the back end has many shares and each one needs to be checked startup can be delayed. • So we introduced a mechanism where the manager calls get_backend_info() and the back end returns a dictionary of key/values for potential update. • Manager computes a hash of these and compares it with its last hash. If these match, nothing needs to be done. • If they don’t match the manager runs ensure_shares() which returns a list of model updates for each share on the back end.
N e w i n Q u e e n s – D r i v e r a d d i t i o n s a n d e n h a n c e me n t s • New Infinidat Infinibox driver • New Veritas Access driver • Fixed new share size when creating from NetApp snapshot • Store ganesha exports and export counter in Ceph RADOS • Huawei driver supports revert-to-snapshot • QNAP driver added support for thin-provisioning, de-duplication, compression, SSD cache • NetApp “NVE” (volume encryption at rest) support • Fixes to make the generic driver more robust
N e w i n Q u e e n s – O p e n S t a c k c o mmu n i t y g o a l s • Policy in code • Completed migration of doc in-tree (and lots of doc fixes) • Enabled mutable configuration via oslo (Rocky goal) • Manila tempest test plugin moved to its own repository • Zuul v3 migration
O p e n S t a c k R o c k y – p y t h o n 3 r e a d i n e s s ● D i s t r i b u t i o n s h a v e s t a r t e d t o d r o p s u p p o r t f o r p y t h o n 2 – D e b i a n h a s a l r e a d y d r o p p e d s u p p o r t , o t h e r s e x p e c t e d t o f o l l o w i n t h e n e x t c o u p l e y e a r s s i n c e u p s t r e a m s u p p o r t f o r p y t h o n 2 i s g o i n g a w a y b y 2 0 2 0 ● M a n i l a - u i w a s n o t p y t h o n 3 r e a d y ● G a t e j o b s n e e d t o c o n v e r t t o p y t h o n 3 – R e p l a c e C e n t O S j o b s w i t h F e d o r a j o b s
O p e n S t a c k R o c k y – a d d j s o n s c h e ma v a l i d a t i o n ● M a n i l a c u r r e n t l y h a s n o c o n s i s t e n t r e q u e s t v a l i d a t i o n l a y e r – S o m e r e s o u r c e s v a l i d a t e i n p u t a t r e s o u r c e c o n t r o l l e r – S o m e j u s t f a i l i n t h e b a c k e n d ● S o a d d a j s o n s c h e m a f o r e a c h r e s o u r c e a n d u s e a j s o n s c h e m a v a l i d a t o r o b j e c t t o c h e c k e a c h r e s o u r c e a g a i n s t i t s s c h e m a ● I f t h e v a l i d a t i o n p a s s e s , a l l o w t h e r e q u e s t t o f o l l o w t h e e x i s t i n g fl o w o f c o n r o l t h r o u g h t h e r e s o u r c e m a n a g e r t o t h e b a c k e n d . ● I f t h e v a l i d a t i o n f a i l s , r e t u r n H T T P B a d R e q u e s t
O p e n S t a c k R o c k y – me t a d a t a f o r a c c e s s r u l e s ● E x p e r i e n c e w i t h H u a w e i p u b l i c c l o u d i n d i c a t e d i t w o u l d b e u s e f u l t o b e a b l e t o a d d d e s c r i p t i v e m e t a d a t a t o a c c e s s r u l e s ● G o a l : i m p r o v e u s e r e x p e r i e n c e w h e n m a n a g i n g a c c e s s r u l e s ● U s e r s c a n a d d k e y - v a l u e p a i r s t o d e s c r i b e a c c e s s r u l e s ● U s e r s c a n fi l t e r a c c e s s r u l e s w i t h s p e c i fi c m e t a d a t a w h e n l i s t i n g a c c e s s r u l e s
O p e n S t a c k R o c k y – a c c e s s r u l e s p r i o r i t y ● M a n i l a a c c e s s r u l e s c u r r e n t l y s u p p o r t t w o a c c e s s l e v e l s , r e a d - w r i t e a n d r e a d - o n l y ● I P b a s e d a c c e s s r u l e s c a n o v e r l a p – A l l o w 1 9 2 . 1 6 8 . 1 . 0 / 2 4 r / o – A l l o w 1 9 2 . 1 6 8 . 1 . 1 r w – T h i s i s a m b i g u o u s : w h i c h r u l e w i n s f o r a d d r e s s 1 9 2 . 1 6 8 . 1 . 1 ? – M a n i l a j u s t l e f t i t u p t o t h e b a c k e n d t o d e c i d e ● I n s t e a d , r u l e s h a v e p r i o r i t i e s i n a r a n g e 1 - 2 0 0 ● D e f a u l t i s 2 0 0 a n d l o w e r n u m b e r s a r e h i g h e r ● U s e r c a n e x p l i c i t l y s e t a p r i o r i t y t o d i s - a m b i g u a t e
Recommend
More recommend