Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At this moment, we're using our own repository, branch 4.3.0-dnsapiglobodns: https://github.com/globocom/cloudstack/tree/4.3.0-dnsapiglobodns. However, we hope to commit these changes to branch 4.5 in Cloudstack repository.

...

This proposal includes both GloboDNS (a DNS APIan API to manage DNS zones and domains) to be run in a DNS server and a plugin designed for integrating virtual machines and virtual networks in Cloudstack with GloboDNS.

...

  • All new files are in plugins/network-elements/dns-apiglobodns
  • api/src/com/cloud/network/Network.java: Created new provider called DnsAPIGloboDns
  • api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java: Created new device called DnsAPIGloboDns
  • client/pom.xml: Included plugin dependency
  • client/tomcatconf/commands.properties.in: declared new command addDnsApiHost addGloboDnsHost permission
  • plugins/pom.xml: included plugin module
  • server/src/com/cloud/configuration/Config.java: Included configuration of default template used in new domains
  • setup/db/db/schema-421to430.sql: Migrations to create new tables and insertion of configuration
  • ui/scripts/system.js: Detail view of plugin configuration

...

  • All calls to GloboDNS are in DNSAPIResource. This approach avoids confusion, since GloboDNS Client code is isolated from Cloudstack core code.

  • DNSAPIResource GloboDnsResource type is L2Networking for lack of a better option.

  • GloboDNS generates Bind configuration files and exports to DNS server using rsync calls over SSH. Then, DNS server is reloaded. Bind servers are synced using IXFR (Incremental Zone Transfers, RFC 1995)

 

Image RemovedImage Added


Web Services APIs

addDnsApiHostaddGloboDnsHost: configure GloboDNS credentials and endpoint in Zone. Needs to be called before plugin is enabled in zone.

...