workshop requirements
play

Workshop Requirements Grab a USB key! A computer with: 2+GB RAM - PowerPoint PPT Presentation

Workshop Requirements Grab a USB key! A computer with: 2+GB RAM VirtualBox and Vagrant - Both included on USB drive VM: 30GB disk image Windows users need ssh client (putty, cygwin) Copy DesignateInstall


  1. Workshop Requirements ● Grab a USB key! ● A computer with: 2+GB RAM ○ VirtualBox and Vagrant - Both included on USB drive ○ VM: 30GB disk image ○ Windows users need ssh client (putty, cygwin) ○ ● Copy “ DesignateInstall ” from USB drive ● cd DesignateInstall ● vagrant up ● vagrant ssh

  2. Install, Operate, Rock it

  3. Rich Megginson Principal Software Engineer, Red Hat rmeggins@redhat.com irc: richm (Freenode)

  4. Emmanuel Ankutse , Developer irc: eankutse Betsy Luzader , Developer irc: bluzader Vinod Mangalpally , Developer irc: vinod Joe McBride , Development Manager irc: jmcbride

  5. Ron Rickard Sr. Cloud Engineer, eBay Inc. rrickard@ebaysf.com irc.freenode.net: rjrjr

  6. Are you ready? ● Installed: ○ VirtualBox and Vagrant - Both included on USB drive ● Copy “ DesignateInstall ” from USB drive ● cd DesignateInstall ● vagrant up ● vagrant ssh

  7. Agenda ● Install ● Operations ● Nova + Neutron ● How to contribute

  8. Install Designate

  9. Install Overview - Configure PowerDNS backend - Install/Configure Designate Services - Install/Configure Designate Client - Verify install

  10. What we are installing Nova / Neutron Central Database Sink Keystone API AMQP Backend PowerDNS User

  11. Follow along at... - On the vm at: /home/vagrant/install.txt - or online at: https://wiki.openstack. org/wiki/Designate/Atlanta/Worksh op_1

  12. Questions?

  13. Designate Operations

  14. Using Designate Pre-setup in Keystone: Tenant User admin admin tenantA user1 user2 tenantB user3

  15. Using Designate (continued) Scripts pre-loaded on image: openrc.admin ● openrc.user1 ● openrc.user2 ● openrc.user3 ● getusertoken.sh ● selectenv.sh ● createserver.sh ● deleteserver.sh ● getserver.sh ● listservers.sh ●

  16. Server Operations Designate REST API: Generate the Keystone token for the admin user: ● ○ source openrc.admin ○ . ./selectenv.sh List the servers: ● ○ ./listservers.sh Create the server: ● ○ ./createserver.sh ns.example.net. ○ ./listservers.sh

  17. Server Operations (continued) Designate client: Setup the environment for the admin user: ● ○ source openrc.admin List the servers: ● ○ designate server-list Create the server: ● ○ designate server-create --name ns.example.com. ○ designate server-list Delete a server: ● ○ designate server-delete <server-id for ns.example.net.> ○ designate server-list Delete the last server: ● ○ designate server-delete <server-id for ns.example.com.> Show designate shell: ● ○ designate

  18. Domain Operations Setup the environment for the user1 user: ● ○ source openrc.user1 List the domains: ● ○ designate domain-list Create the domain: ● ○ designate domain-create --name example.com. --email dns@example. com ○ designate domain-list ○ dig @localhost example.com. soa ○ dig @localhost example.com. ns Setup the environment for the user2 user: ● ○ source openrc.user2 List the domains: ● ○ designate domain-list

  19. Domain Operations (continued) Setup the environment for the user3 user: ● ○ source openrc.user3 List the domains: ● ○ designate domain-list Create the domain: ● ○ designate domain-create --name test.com. --email dns@test.com ○ designate domain-list Delete the domain: ● ○ designate domain-delete <domain-id for test.com.> ○ designate domain-list

  20. Record Operations Setup the environment for the user2 user: ● ○ source openrc.user2 List the records for the example.com. domain: ● ○ designate domain-list ○ designate record-list <domain-id for example.com.> Create the record: ● ○ designate record-create --name serverA.example.com. --type A -- data 1.2.3.4 <domain-id for example.com.> ○ designate record-list <domain-id for example.com.> ○ dig @localhost serverA.example.com. Setup the environment for the user1 user: ● ○ source openrc.user1 List the records for the example.com. domain: ● ○ designate record-list <domain-id for example.com.>

  21. Record Operations (continued) Setup the environment for the user3 user: ● ○ source openrc.user3 List the records for the example.com. domain: ● ○ designate record-list <domain-id for example.com.> Setup the environment for the user1 user: ● ○ source openrc.user1 List the records for the example.com. domain: ● ○ designate record-list <domain-id for example.com.> Delete the record: ● ○ designate record-delete <domain-id for example.com.> <record-id for serverA.example.com.> ○ designate record-list <domain-id for example.com.>

  22. Questions?

  23. Designate + Nova/Neutron

  24. What we are configuring Nova / Neutron Central Database Sink Keystone API AMQP Backend PowerDNS User

  25. Designate Sink and Notification Handlers Designate Sink consumes notification events from: ● Nova ○ Neutron ○ possibly other services ○ Designate Sink turns events into DNS operations. ● What events and what DNS operations are performed are determined by custom notification ● handlers: nova_fixed ○ neutron_floatingip ○

  26. Nova Configuration Changes Enable notifications for Designate in nova.conf: ● [DEFAULT] notification_driver = nova.openstack.common.notifier.rpc_notifier notification_topics = monitor notify_on_state_change = vm_and_task_state

  27. Neutron Configuration Changes Enable notifications for Designate in neutron.conf: ● [DEFAULT] notification_driver = neutron.openstack.common.notifier. rpc_notifier notification_topics = monitor

  28. Designate Configuration Changes Enable Designate Sink in designate.conf: ● [service:sink] enabled_notification_handlers = nova_fixed, neutron_floatingip Enable Nova notification handler in designate.conf: ● [handler:nova_fixed] domain_id = <random uuid> notification_topics = monitor control_exchange = 'nova' format = '%(display_name)s.%(domain)s'

  29. Designate Configuration Changes (continued) Enable Neutron notification handler in designate.conf: ● [handler:neutron_floatingip] domain_id = <random uuid> notification_topics = monitor control_exchange = 'neutron' format = '%(display_name)s.%(domain)s' Restart Designate services: ● ○ sudo killall designate-api ○ sudo killall designate-central ○ sudo designate-central & ○ sudo designate-api & Start Designate Sink service: ● ○ sudo designate-sink &

  30. Creating and Deleting VM Setup the environment for the user1 user: ● ○ source openrc.user1 List the images: ● ○ nova image-list List the flavors: ● ○ nova flavor-list Create the VM instance: ● ○ nova boot testvm --image <image-id> --flavor <flavor-id> ○ nova list Show the records: ● ○ designate domain-list ○ designate record-list <domain-id for example.com.> ○ dig @localhost testvm.example.com.

  31. Create and Delete VM (continued) Delete the VM instance: ● ○ nova delete testvm ○ nova list Show the records: ● ○ designate domain-list ○ designate record-list <domain-id for example.com.> ○ dig @localhost testvm.example.com.

  32. Questions?

  33. Contribute to Designate

  34. Useful Links General OpenStack Links: How to Contribute Primer: https://wiki.openstack.org/wiki/How_To_Contribute Gerrit Workflow Primer: https://wiki.openstack.org/wiki/Gerrit_Workflow Join the OpenStack Foundation: https://www.openstack.org/join/ Code Review: https://review.openstack.org/ Designate Specific Links: Bug Tracker: https://bugs.launchpad.net/designate Feature Tracker: https://blueprints.launchpad.net/designate Documentation: https://designate.readthedocs.org DevStack: https://designate.readthedocs.org/en/latest/devstack.html Git (Server): https://github.com/stackforge/designate Git (Client): https://github.com/stackforge/python-designateclient (Yes - These slides will be published online!)

  35. Getting Involved - Bare Necessities Get a good IRC client.. You’ll need it. ● Join #openstack-dns and introduce yourself :) ○ Attend the weekly IRC meetings: ● Wednesdays @ 17:00 UTC in #openstack-meeting-alt ○ Agenda - https://wiki.openstack.org/wiki/Meetings/Designate ○ File a bug/blueprint for your idea - Then add it to the agenda… ● It’s OK to only have a rough sketch of the idea - that’s usually enough to begin discussions. ○ Sign the Contributors License Agreement ● Get familiar with Gerrit - We can’t accept patches outside of Gerrit (Gerrit enforce the CLA) ●

  36. Plugin Interfaces Designate has several plugin interfaces, where replacement/additional implementations can be dropped in without the need to modify core code, these can even be provided by out of tree Python modules, avoiding the need to fork for private plugins. New API v1 Endpoints (v2 will eventually be pluggable) ● Storage Drivers (SQLAlchemy in the box) ● Backend Drivers (PowerDNS, NSD4, FreeIPA, DynECT, BIND9 (kinda..)) ● Sink’s Notification Handlers ● Full List: http://goo.gl/5ZwMzO

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