SlideShare una empresa de Scribd logo
1 de 20
Dev. installs to hard? Welcome to the land of happiness & joy.

   DEVSTACKpy
    and what it can do for u!

                            Joshua Harlow + Oompa loompa’s
                                Codeus Awesomus @ Yahoo!
What is this all about??

‣   Have you used devstack.org?
    ‣   Used by an increasing number of people to kick the
        tires, develop with OpenStack, setup CI, figure out how
        to install…
‣   Not perfect though (great initial work!)
    ‣   For my definition of perfect…
‣   DEVSTACKpy is meant to help get it going in the
    right direction, with new features and common
    OOP practices and many more goodies!
What is great about devstack.sh
‣   An install script for developers that can setup a
    OpenStack instance (with the 4+ main
    components)!
‣   Somewhat easy to read (as long as you are
    comfortable with unix commands and bash)
‣   Provided a initial package and pypi package
    listing for each component
‣   Describing what is done and why (docs)
‣   CI setup (good/bad, idk)
What we thought was lacking
‣   Python usage
    ‣   Why add another shell language to be understood
        ‣   If you are developing in OpenStack, you most likely
            already understand python…
    ‣   Can take advantage of logging, subprocess, os, sys…
    ‣   Can use pylint and pep8 for sanity checking
‣   Complete package/pypi dependency listings
    ‣   Allows for you to reproduce environment
        configurations easily
What we thought was lacking
‣   Multiple distribution support
    ‣   Ties into having complete package dependencies and
        knowledge of bugs/features in each distribution
    ‣   Currently works with RHEL6.2, Ubuntu 11.10, Ubuntu
        12.04 (WIP), Fedora 16
‣   Componentized installs (i.e., I only want glance)
    ‣   Devstack.sh has this somewhat, but there is no way
        to easily scrape the shell script to determine what
        actually is needed for a specific component
    ‣   Classes and functions and objects are our friends
*Cough*
http://bit.ly/J0qdb8
What we thought was lacking
‣   Multi-node installs (WIP)
    ‣   It may be controversial but in reality developers do like
        to simulate real environments and a single node install
        isn’t very realistic
    ‣   Useful for integration testing as well (TBD)
‣   OOP/Composition/Decoupling
    ‣   Programming practices do matter, and we should not
        sacrifice this (ever), have pride in what you do!
    ‣   Decoupled/plugin-like code is easier to read, easier
        to extend, easier to debug, easier to trace…
What we thought was lacking
What we thought was lacking
‣   Ability to “CTRL-C” at anytime
    ‣   For example, install partially then stop, say oops, and
        then be able to uninstall whatever was installed
‣   Multiple extensible run modes
    ‣   Everyone's cup of tea isn’t screen
    ‣   Supports screen, forking, upstart (easily extensible)
‣   Dry-run mode
    ‣   Sometimes you don’t want to actually install but you
        just want to see what would of happened
What we thought was lacking

‣   Multiple concurrent versions
    ‣   No need to place in /opt/… place it wherever you want
        ‣   Useful to say have version X in Y dir and version X+1 in
            Y+1 dir and start and stop either or as desired

        ‣   For example test with working version X and try
            new feature with unstable version X+1

‣   Uninstall, starting, stopping
    ‣   Extensible (each component can choose how it
        wants to perform these operations)
!!!DEMO!!!
What’s next?

‣   Continuing working on multi-node installs
‣   Figure out plan for replacement of devstack.sh?
‣   More docs/code comments…
‣   Swift needs some love
‣   Idempotent installs (ie transactional like)
What’s next?

‣   Figure out what to do with CI
    ‣   Should devstack be doing this??
‣   Building packages from a DEVSTACKpy install
    ‣   rpm BUILDROOT match closely the install root…
‣   GPG keystore usage (for passwords)?
‣   Any other awesomeness we can think up!
Bugs/code/links

‣   Useful links:
    ‣   https://launchpad.net/devstackpy
        ‣   Blueprints, bugs, miscellaneous…
    ‣   http://devstackpy.readthedocs.org
    ‣   https://github.com/yahoo/Openstack-DevstackPy
Hugs

‣   Much thanks to the following:
    ‣   Y! and DreamHost guys/gals
    ‣   Meme generators and monty python
    ‣   My parents and my invisible friend
    ‣   And any others that I missed, much appreciated!
DevstackPY

Más contenido relacionado

La actualidad más candente

DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
Rob Reynolds
 

La actualidad más candente (17)

Pip + virtualenv
Pip + virtualenvPip + virtualenv
Pip + virtualenv
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzz
 
10 Things I've Learned About Linux
10 Things I've Learned About Linux10 Things I've Learned About Linux
10 Things I've Learned About Linux
 
Open shift
Open shiftOpen shift
Open shift
 
How to build LibreOffice on your desktop
How to build LibreOffice on your desktopHow to build LibreOffice on your desktop
How to build LibreOffice on your desktop
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
 
Integração Contínua com PHPCI
Integração Contínua com PHPCIIntegração Contínua com PHPCI
Integração Contínua com PHPCI
 
Docker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuo
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners
 
Drupal 101 V-0.1
Drupal 101 V-0.1Drupal 101 V-0.1
Drupal 101 V-0.1
 
Nodeschool
NodeschoolNodeschool
Nodeschool
 
CRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual MachineCRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual Machine
 
Aloofix
AloofixAloofix
Aloofix
 
OWASP Bangalore : OWTF demo : 13 Dec 2014
OWASP Bangalore : OWTF demo : 13 Dec 2014OWASP Bangalore : OWTF demo : 13 Dec 2014
OWASP Bangalore : OWTF demo : 13 Dec 2014
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
 
Images, Deep Dive!
Images, Deep Dive!Images, Deep Dive!
Images, Deep Dive!
 

Similar a DevstackPY

A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
Docker, Inc.
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
rahulbot
 

Similar a DevstackPY (20)

Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatterns
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
 
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
Suse Studio: "How to create a live openSUSE image with  OpenFOAM® and CFD tools"Suse Studio: "How to create a live openSUSE image with  OpenFOAM® and CFD tools"
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
 
Old Dogs and New Tricks
Old Dogs and New TricksOld Dogs and New Tricks
Old Dogs and New Tricks
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
 
Go with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress WorkflowGo with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress Workflow
 
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?
Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
Docker experience @inbotapp
Docker experience @inbotappDocker experience @inbotapp
Docker experience @inbotapp
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster
 
Go with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress WorkflowGo with the Flow - A Guide to a WordPress Workflow
Go with the Flow - A Guide to a WordPress Workflow
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
 
Continuous Deployment - Developers Conference Hamburg #dchh
Continuous Deployment - Developers Conference Hamburg #dchhContinuous Deployment - Developers Conference Hamburg #dchh
Continuous Deployment - Developers Conference Hamburg #dchh
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

DevstackPY

  • 1.
  • 2. Dev. installs to hard? Welcome to the land of happiness & joy. DEVSTACKpy and what it can do for u! Joshua Harlow + Oompa loompa’s Codeus Awesomus @ Yahoo!
  • 3.
  • 4. What is this all about?? ‣ Have you used devstack.org? ‣ Used by an increasing number of people to kick the tires, develop with OpenStack, setup CI, figure out how to install… ‣ Not perfect though (great initial work!) ‣ For my definition of perfect… ‣ DEVSTACKpy is meant to help get it going in the right direction, with new features and common OOP practices and many more goodies!
  • 5.
  • 6. What is great about devstack.sh ‣ An install script for developers that can setup a OpenStack instance (with the 4+ main components)! ‣ Somewhat easy to read (as long as you are comfortable with unix commands and bash) ‣ Provided a initial package and pypi package listing for each component ‣ Describing what is done and why (docs) ‣ CI setup (good/bad, idk)
  • 7. What we thought was lacking ‣ Python usage ‣ Why add another shell language to be understood ‣ If you are developing in OpenStack, you most likely already understand python… ‣ Can take advantage of logging, subprocess, os, sys… ‣ Can use pylint and pep8 for sanity checking ‣ Complete package/pypi dependency listings ‣ Allows for you to reproduce environment configurations easily
  • 8. What we thought was lacking ‣ Multiple distribution support ‣ Ties into having complete package dependencies and knowledge of bugs/features in each distribution ‣ Currently works with RHEL6.2, Ubuntu 11.10, Ubuntu 12.04 (WIP), Fedora 16 ‣ Componentized installs (i.e., I only want glance) ‣ Devstack.sh has this somewhat, but there is no way to easily scrape the shell script to determine what actually is needed for a specific component ‣ Classes and functions and objects are our friends
  • 10. What we thought was lacking ‣ Multi-node installs (WIP) ‣ It may be controversial but in reality developers do like to simulate real environments and a single node install isn’t very realistic ‣ Useful for integration testing as well (TBD) ‣ OOP/Composition/Decoupling ‣ Programming practices do matter, and we should not sacrifice this (ever), have pride in what you do! ‣ Decoupled/plugin-like code is easier to read, easier to extend, easier to debug, easier to trace…
  • 11. What we thought was lacking
  • 12. What we thought was lacking ‣ Ability to “CTRL-C” at anytime ‣ For example, install partially then stop, say oops, and then be able to uninstall whatever was installed ‣ Multiple extensible run modes ‣ Everyone's cup of tea isn’t screen ‣ Supports screen, forking, upstart (easily extensible) ‣ Dry-run mode ‣ Sometimes you don’t want to actually install but you just want to see what would of happened
  • 13. What we thought was lacking ‣ Multiple concurrent versions ‣ No need to place in /opt/… place it wherever you want ‣ Useful to say have version X in Y dir and version X+1 in Y+1 dir and start and stop either or as desired ‣ For example test with working version X and try new feature with unstable version X+1 ‣ Uninstall, starting, stopping ‣ Extensible (each component can choose how it wants to perform these operations)
  • 14.
  • 16. What’s next? ‣ Continuing working on multi-node installs ‣ Figure out plan for replacement of devstack.sh? ‣ More docs/code comments… ‣ Swift needs some love ‣ Idempotent installs (ie transactional like)
  • 17. What’s next? ‣ Figure out what to do with CI ‣ Should devstack be doing this?? ‣ Building packages from a DEVSTACKpy install ‣ rpm BUILDROOT match closely the install root… ‣ GPG keystore usage (for passwords)? ‣ Any other awesomeness we can think up!
  • 18. Bugs/code/links ‣ Useful links: ‣ https://launchpad.net/devstackpy ‣ Blueprints, bugs, miscellaneous… ‣ http://devstackpy.readthedocs.org ‣ https://github.com/yahoo/Openstack-DevstackPy
  • 19. Hugs ‣ Much thanks to the following: ‣ Y! and DreamHost guys/gals ‣ Meme generators and monty python ‣ My parents and my invisible friend ‣ And any others that I missed, much appreciated!