dirty clouds done dirt cheap
play

Dirty Clouds Done Dirt Cheap Matthew Treinish mtreinish@kortar.org - PowerPoint PPT Presentation

Dirty Clouds Done Dirt Cheap Matthew Treinish mtreinish@kortar.org mtreinish on Freenode May 11, 2017 https://github.com/mtreinish/dirty-clouds-done-dirt-cheap Building a Cloud 1 / 35 Scope of the Project Pretend to be a sysadmin with no


  1. Dirty Clouds Done Dirt Cheap Matthew Treinish mtreinish@kortar.org mtreinish on Freenode May 11, 2017 https://github.com/mtreinish/dirty-clouds-done-dirt-cheap

  2. Building a Cloud 1 / 35

  3. Scope of the Project ◮ Pretend to be a sysadmin with no prior OpenStack knowledge ◮ Try to rely only on install docs and google searches ◮ $1500 USD Budget ◮ Build a basic compute cloud: ◮ Keystone ◮ Glance ◮ Nova ◮ Neutron ◮ Install Ocata from tarballs ◮ No automation or pre-existing install scripts 2 / 35

  4. Buying Hardware ◮ Maximize core count per USD ◮ Second priority is amount of RAM per core ◮ Machines don’t need to be fast (that costs money!) 3 / 35

  5. 4 / 35

  6. The Servers Model PowerEdge R610 Processor 2x Intel Xeon E5540 Memory Installed 32GB Total Memory; 8 x 4 GB DDR3 Hard Drives 2x 146GB 10K SAS Hard Drive RAID Controller Dell PowerEdge R610 Perc 6i Ethernet 2x Dual Port Embedded Broadcom NetXtreme ll 5709c Return Policy/Warranty 60 days Money Back Or Exchange $215 Each!! 5 / 35

  7. 6 / 35

  8. Quirks with the servers ◮ Super stripped down: ◮ No management interface ◮ No redundant power supply ◮ 4x8GB of RAM not 8x4GB ◮ Memory installed in wrong slots ◮ Dead RAID controller battery ◮ Came with 15k RPM hard drives not 10k RPM ◮ Came pre-installed with Windows Server 2012 (and default password Apple123) 7 / 35

  9. LackRack https://wiki.eth0.nl/index.php/LackRack ◮ Use a LACK side table from Ikea ◮ 19 inch width between legs ◮ Can fit 8U ◮ Lots of color choices ◮ $9.99 USD 8 / 35

  10. 9 / 35

  11. 10 / 35

  12. Installing OpenStack 11 / 35

  13. Installing OpenStack Services 1. Download service tarball 2. Create service users 3. Install binary requirements 4. Create service dirs in /etc and /var/lib 5. Copy etc/ from tarball into /etc/$Service 6. pip install the tarball 7. Follow install guide on project configuration and setup 12 / 35

  14. Setting Up Keystone ◮ 2 config options ◮ Install guide doesn’t have instructions on apache wsgi app setup ◮ Google search found: https://docs.openstack.org/developer/keystone/apache- httpd.html 13 / 35

  15. Python Requirements aren’t fun ERROR k e y s t o n e Traceback ( most r e c e n t c a l l l a s t ) : ERROR k e y s t o n e F i l e "/ u s r / l o c a l / b i n / keystone − wsgi − admin" , l i n e 51 , i n <module> ERROR k e y s t o n e a p p l i c a t i o n = i n i t i a l i z e _ a d m i n _ a p p l i c a t i o n ( ) ERROR k e y s t o n e F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / k e y s t o n e / s e r v e r / wsgi . py" , l i n e 132 , i n i n i t i a l i z e _ a d m i n _ a p p l i c a t i o n ERROR k e y s t o n e c o n f i g _ f i l e s=_ g e t _ c o n f i g _ f i l e s ( ) ) . . . ERROR k e y s t o n e F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / p a s t e / d e p l o y / l o a d w s g i . py" , l i n e 640 , i n find_egg_entry_point ERROR k e y s t o n e pkg_resources . r e q u i r e ( s e l f . spec ) ERROR k e y s t o n e F i l e "/ u s r / l i b / python2 . 7 / d i s t − packages / pkg_resources /__init__ . py" , l i n e 943 , i n r e q u i r e ERROR k e y s t o n e needed = s e l f . r e s o l v e ( p a r s e _ r e q u i r e m e n t s ( r e q u i r e m e n t s ) ) ERROR k e y s t o n e F i l e "/ u s r / l i b / python2 . 7 / d i s t − packages / pkg_resources /__init__ . py" , l i n e 834 , i n r e s o l v e ERROR k e y s t o n e r a i s e V e r s i o n C o n f l i c t ( d i s t , req ) . with_context ( dependent_req ) ERROR k e y s t o n e C o n t e x t u a l V e r s i o n C o n f l i c t : ( r e q u e s t s 2 . 1 3 . 0 (/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages ) , Requirement . p a r s e ( ’ r e q u e s t s !=2.12.2 ,!=2.13.0 , >=2.10.0 ’ ) , s e t ( [ ’ o s l o . p o l i c y ’ ] ) ) 14 / 35

  16. Setting up Glance ◮ Straightforward configuration: ◮ Auth ◮ Image Directories ◮ Database 15 / 35

  17. Don’t forget to create glance store directory [ req − 8f f 7 f 7 d 2 − a4a5 − 4558 − b5a9 − 9ecca139675f 20 f283024ffd4bf4841a8d33bdb4f385 6 c3fc6392e0c487e85d57afe5a5ab2b7 − d e f a u l t d e f a u l t ] E r r o r i n s t o r e c o n f i g u r a t i o n . Adding images to s t o r e i s d i s a b l e d . Traceback ( most r e c e n t c a l l l a s t ) : F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / g l a n c e / a p i / v2 / image_data . py" , l i n e 116 , i n upload image . set_data ( data , s i z e ) . . . F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / g l a n c e _ s t o r e / backend . py" , l i n e 426 , i n store_add_to_backend v e r i f i e r = v e r i f i e r ) F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / g l a n c e _ s t o r e / c a p a b i l i t i e s . py" , l i n e 223 , i n op_checker r a i s e op_exec_map [ op ]( ∗∗ kwargs ) StoreAddDisabled : C o n f i g u r a t i o n f o r s t o r e f a i l e d . Adding images to t h i s s t o r e i s d i s a b l e d . 16 / 35

  18. Setting up Nova ◮ Database migrations are slower, took about 3mins ◮ Don’t forget the placement API, no docs on apache setup ◮ novnc is problematic from source ◮ Set force_config_drive option to true 17 / 35

  19. Requirements still aren’t fun ERROR nova Traceback ( most r e c e n t c a l l l a s t ) : ERROR nova F i l e "/ u s r / l o c a l / b i n /nova − a p i " , l i n e 10 , i n <module> ERROR nova s y s . e x i t ( main ( ) ) ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / nova /cmd/ a p i . py" , l i n e 59 , i n main ERROR nova s e r v e r = s e r v i c e . WSGIService ( api , u s e _ s s l=should_use_ssl ) . . . ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / pkg_resources /__init__ . py" , l i n e 2324 , i n r e q u i r e ERROR nova i t e m s = working_set . r e s o l v e ( reqs , env , i n s t a l l e r , e x t r a s=s e l f . e x t r a s ) ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / pkg_resources /__init__ . py" , l i n e 859 , i n r e s o l v e ERROR nova r a i s e V e r s i o n C o n f l i c t ( d i s t , req ) . with_context ( dependent_req ) ERROR nova C o n t e x t u a l V e r s i o n C o n f l i c t : ( pbr 1 . 1 0 . 0 (/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages ) , Requirement . p a r s e ( ’ pbr >=2.0.0 ’ ) , s e t ( [ ’ o s l o . i 1 8 n ’ , ’ o s l o . l o g ’ , ’ o s l o . c o n t e x t ’ , ’ o s l o . u t i l s ’ ] ) ) 18 / 35

  20. You need a sudoers file ERROR nova Traceback ( most r e c e n t c a l l l a s t ) : ERROR nova F i l e "/ u s r / l o c a l / b i n /nova − a p i " , l i n e 10 , i n <module> ERROR nova s y s . e x i t ( main ( ) ) ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / nova /cmd/ a p i . py" , l i n e 59 , i n main ERROR nova s e r v e r = s e r v i c e . WSGIService ( api , u s e _ s s l=should_use_ssl ) ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / nova / s e r v i c e . py" , l i n e 309 , i n __init__ ERROR nova s e l f . manager = s e l f . _get_manager ( ) . . . ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / nova / u t i l s . py" , l i n e 180 , i n e x e c u t e ERROR nova r e t u r n p r o c e s s u t i l s . e x e c u t e ( ∗ cmd , ∗∗ kwargs ) ERROR nova F i l e "/ u s r / l o c a l / l i b / python2 . 7 / d i s t − packages / o s l o _ c o n c u r r e n c y / p r o c e s s u t i l s . py" , l i n e 400 , i n e x e c u t e ERROR nova cmd=sanitized_cmd ) ERROR nova P r o c e s s E x e c u t i o n E r r o r : Unexpected e r r o r w h i l e r u n n i n g command . ERROR nova Command : sudo nova − rootwrap / e t c / nova / rootwrap . conf i p t a b l e s − save − c ERROR nova E x i t code : 1 ERROR nova Stdout : u ’ ’ ERROR nova S t d e r r : u ’ sudo : no t t y p r e s e n t and no a s k p a s s program s p e c i f i e d \n ’ ERROR nova 19 / 35

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend