DevStack¶
The Designate team maintains a fork of devstack with Designate integration.
Instructions¶
Get a clean Ubuntu 12.04 VM. DevStack “takes over”. Don’t use your desktop!
Clone Designate and DevStack inside the VM:
$ git clone https://git.openstack.org/openstack-dev/devstack.git $ git clone https://github.com/openstack/designate.git
Install the Designate extension for DevStack:
$ cd devstack $ ../designate/contrib/devstack/install.sh
Create a localrc config file:
# General DevStack Config # ======================= ADMIN_PASSWORD=password MYSQL_PASSWORD=password RABBIT_PASSWORD=password SERVICE_PASSWORD=password SERVICE_TOKEN=password # IP Address for services to bind to (Should match IP from Vagrantfile) SERVICE_HOST=192.168.27.100 # Logging #LOGFILE=/opt/stack/logs/stack.sh.log SCREEN_LOGDIR=/opt/stack/logs VERBOSE=True LOG_COLOR=True # Enable the basic services we require ENABLED_SERVICES=rabbit,mysql,key # Designate Devstack Config # ========================= # Enable core Designate services ENABLED_SERVICES+=,designate,designate-central,designate-api,designate-pool-manager,designate-zone-manager,designate-mdns # Optional Designate services #ENABLED_SERVICES+=,designate-agent #ENABLED_SERVICES+=,designate-sink # Backend Driver (e.g. powerdns, bind9. See designate.backend section of # setup.cfg) #DESIGNATE_BACKEND_DRIVER=powerdns # Pool Manager Cache Driver (e.g. noop, memcache, sqlalchemy. See # designate.backend section of setup.cfg) #DESIGNATE_POOL_MANAGER_CACHE_DRIVER=memcache # mDNS Service DNS Port Number #DESIGNATE_SERVICE_PORT_MDNS=5354 # Designate Backend Config # ======================== # DynECT Backend # NOTEs: # - DynECT requires DESIGNATE_SERVICE_PORT_MDNS is set to "53" # - DESIGNATE_DYNECT_MASTERS must be a Publicly reachable IP, pointed to mDNS #DESIGNATE_DYNECT_CUSTOMER= #DESIGNATE_DYNECT_USERNAME= #DESIGNATE_DYNECT_PASSWORD= #DESIGNATE_DYNECT_NAMESERVERS=ns1.p13.dynect.net,ns2.p13.dynect.net,ns3.p13.dynect.net,ns4.p13.dynect.net #DESIGNATE_DYNECT_MASTERS= # Akamai Backend #DESIGNATE_AKAMAI_USERNAME= #DESIGNATE_AKAMAI_PASSWORD= #DESIGNATE_AKAMAI_NAMESERVERS=a5-64.akam.net,a11-65.akam.net,a13-66.akam.net,a14-64.akam.net,a20-65.akam.net,a22-66.akam.net #DESIGNATE_AKAMAI_MASTERS= # Designate D2D Backend # NOTEs: # - DESIGNATE_D2D_ALSO_NOTIFIES needs to be set to the source mdns ip:port in # order for designate to receive the proper NOTIFY # - DESIGNATE_D2D_* credentials should be setup either to the source keystone # or the destination #DESIGNATE_D2D_MASTERS= #DESIGNATE_D2D_ALSO_NOTIFIES= #DESIGNATE_D2D_NAMESERVERS= # Authentication options #DESIGNATE_D2D_KS_VERSION=3 #DESIGNATE_D2D_AUTH_URL= #DESIGNATE_D2D_USERNAME= #DESIGNATE_D2D_PASSWORD= # Keystone V2 #DESIGNATE_D2D_TENANT_NAME=${DESIGNATE_D2D_TENANT_NAME:-} #DESIGNATE_D2D_TENANT_NAME=${DESIGNATE_D2D_TENANT_ID:-} # Keystone V3 #DESIGNATE_D2D_PROJECT_NAME= #DESIGNATE_D2D_PROJECT_DOMAIN_NAME= #DESIGNATE_D2D_USER_DOMAIN_NAME= # Designate Misc Config # ===================== # Enable a Notification Driver (e.g. for Ceiliometer) #DESIGNATE_NOTIFICATION_DRIVER=messaging # Set Notification topics #DESIGNATE_NOTIFICATION_TOPICS=notifications # Set coordination service URL (e.g. kazoo://localhost/) #DESIGNATE_COORDINATION_URL= # Other Devstack Config # ===================== # Optional TLS Proxy #ENABLED_SERVICES+=,tls-proxy # Optional Tempest #ENABLED_SERVICES+=,tempest # Optional Rally #ENABLED_SERVICES+=,rally # Optional Horizon #ENABLED_SERVICES+=,horizon # Optional Glance #ENABLED_SERVICES+=,g-api,g-reg # Optional Nova #ENABLED_SERVICES+=,n-api,n-cpu,n-net,n-cond,n-sch,n-novnc # Optional Neutron #ENABLED_SERVICES+=,-n-net,q-svc,q-agt,q-dhcp,q-l3,q-meta
Run DevStack:
$ ./stack.sh
Enter the screen sessions “shell” window:
$ ./rejoin-stack.sh
Then press Ctrl+A followed by 0
Load credentials into the shell:
$ source openrc admin admin # For the admin user, admin tenant $ source openrc admin demo # For the admin user, demo tenant $ source openrc demo demo # For the demo user, demo tenant
Try out the designate client:
$ designate domain-create --name example.net. --email kiall@hp.com +------------+--------------------------------------+ | Field | Value | +------------+--------------------------------------+ | name | example.net. | | created_at | 2013-07-12T13:36:03.110727 | | updated_at | None | | id | 1fb5d17c-efaf-4e3c-aac0-482875d24b3e | | ttl | 3600 | | serial | 1373636163 | | email | kiall@hp.com | +------------+--------------------------------------+ $ designate record-create 1fb5d17c-efaf-4e3c-aac0-482875d24b3e --type A --name www.example.net. --data 127.0.0.1 +------------+--------------------------------------+ | Field | Value | +------------+--------------------------------------+ | name | www.example.net. | | data | 127.0.0.1 | | created_at | 2013-07-12T13:39:51.236025 | | updated_at | None | | id | d50c21d0-a13c-48e2-889e-0b9852a05acb | | priority | None | | ttl | None | | type | A | | domain_id | 1fb5d17c-efaf-4e3c-aac0-482875d24b3e | +------------+--------------------------------------+ $ designate record-list 1fb5d17c-efaf-4e3c-aac0-482875d24b3e +--------------------------------------+------+------------------+ | id | type | name | +--------------------------------------+------+------------------+ | d50c21d0-a13c-48e2-889e-0b9852a05acb | A | www.example.net. | +--------------------------------------+------+------------------+ $ designate record-get 1fb5d17c-efaf-4e3c-aac0-482875d24b3e d50c21d0-a13c-48e2-889e-0b9852a05acb +------------+--------------------------------------+ | Field | Value | +------------+--------------------------------------+ | name | www.example.net. | | data | 127.0.0.1 | | created_at | 2013-07-12T13:39:51.000000 | | updated_at | None | | id | d50c21d0-a13c-48e2-889e-0b9852a05acb | | priority | None | | ttl | None | | type | A | | domain_id | 1fb5d17c-efaf-4e3c-aac0-482875d24b3e | +------------+--------------------------------------+