Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenStack from 10,000ft

OpenStack from 10,000ft

A lightning talk I whipped up for PyCon IE 2022.

Stephen Finucane

November 12, 2022
Tweet

More Decks by Stephen Finucane

Other Decks in Technology

Transcript

  1. OpenStack from 10,000ft
    @stephenfin - PyCon IE 2022

    View full-size slide

  2. Stephen Finucane (@stephenfin)
    Senior Software Engineer

    View full-size slide

  3. 6 key services…
    Nova (Compute)
    Neutron (Networking)
    Glance (Images)
    Cinder (Volumes)
    Keystone (Identity)
    Placement (Resource tracking)

    View full-size slide

  4. …and loads of others
    Swift (Object storage) *
    Designate (DNS)
    Ironic (Bare metal)
    Barbican (Key manager)
    Cyborg (Accelerators)

    View full-size slide

  5. Couple of common design features
    Python 3
    Traditional relational databases (MySQL)
    Message queues (RabbitMQ)
    They wrap other things

    View full-size slide

  6. Couple of common design features
    Python 3
    Traditional relational databases (MySQL)
    Message queues (RabbitMQ)
    They wrap other things
    Bad upgrades, worse documentation :(
    (though way better than before)

    View full-size slide

  7. How do I get an OpenStack?
    Public cloud provider
    Private cloud provider (i.e. work)

    View full-size slide

  8. How do I get an OpenStack?
    Public cloud provider
    Private cloud provider (i.e. work)
    r/homelab / DIY

    View full-size slide

  9. How do I create my own OpenStack?
    DevStack
    Kolla
    OpenStack Ansible
    TripleO

    View full-size slide

  10. How do I create my own OpenStack?
    DevStack
    Kolla
    OpenStack Ansible
    TripleO

    View full-size slide

  11. [[local|localrc]]
    ## Passwords
    ADMIN_PASSWORD=password
    DATABASE_PASSWORD=password
    RABBIT_PASSWORD=password
    HORIZON_PASSWORD=password
    SERVICE_PASSWORD=password
    SERVICE_TOKEN=no-token-password
    local.conf

    View full-size slide

  12. ❯ ./stack.sh

    View full-size slide

  13. ❯ ./stack.sh
    # Wait some time...
    ❯ systemctl status [email protected]
    ❯ journalctl --unit [email protected]

    View full-size slide

  14. How do I use an OpenStack?
    Horizon
    OSC (openstackclient)
    openstacksdk / Gophercloud
    Ansible
    Terraform
    ⭐ Kubernetes ⭐

    View full-size slide

  15. ❯ pip install openstackclient
    # ...or...
    ❯ sudo dnf install python-openstackclient
    # ...or...
    ❯ sudo apt install python-openstackclient

    View full-size slide

  16. ❯ openstack server create ...
    ❯ openstack network create ...
    ❯ openstack image create ...
    ❯ openstack volume create ...
    ❯ openstack project create ...

    View full-size slide

  17. ❯ pip install openstacksdk
    # ...or...
    ❯ sudo dnf install python-openstacksdk
    # ...or...
    ❯ sudo apt install python-openstacksdk

    View full-size slide

  18. import openstack
    # Initialize and turn on debug logging
    openstack.enable_logging(debug=True)
    # Initialize connection
    conn = openstack.connect(cloud='devstack')
    # List the servers
    for server in conn.compute.servers():
    print(server.to_dict())
    hello_openstack.py

    View full-size slide

  19. How do I find out more?
    docs.openstack.org
    opendev.org/openstack
    #openstack on IRC (OFTC)
    [email protected]
    Talk to me! 🙋

    View full-size slide