designate-6.0.0/0000775000175100017510000000000013245511630013504 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/0000775000175100017510000000000013245511630016175 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/notes/0000775000175100017510000000000013245511630017325 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/notes/pool_scheduler-32e34dda9484ef9a.yaml0000666000175100017510000000070613245511330025527 0ustar zuulzuul00000000000000--- features: - Schedule across pools. See https://docs.openstack.org/designate/latest/admin/pool-scheduler.html#default-provided-filters for the built in filters upgrade: - The default option for the scheduler filters will be ``attribute, pool_id_attribute, random``. - To maintain exact matching behaviour (if you have multiple pools) you will need to set the ``scheduler_filters`` option in ``[service:central]`` to ``default_pool`` designate-6.0.0/releasenotes/notes/api-dot-json-324038360202e86b.yaml0000666000175100017510000000024613245511330024421 0ustar zuulzuul00000000000000--- fixes: - Designate no longer will attempt to guess content type based on an extension to the URL. So GET /v2/zones.json is no longer an acceptable URL. designate-6.0.0/releasenotes/notes/djbdns-agent-backend-c84e9eeab48d2e01.yaml0000666000175100017510000000016013245511330026511 0ustar zuulzuul00000000000000--- features: - An experimental agent backend to support TinyDNS, the DNS resolver from the djbdns tools. designate-6.0.0/releasenotes/notes/soa_refresh_interval_randomization-fcc1d0d63124699b.yaml0000666000175100017510000000041513245511330031566 0ustar zuulzuul00000000000000--- features: - Randomize SOA refresh interval to stagger AXFRs across multiple zones and resolvers. Introduce the new configuration parameters default-soa-refresh-min and default-soa-refresh-max deprecations: - default-soa-refresh configuration option designate-6.0.0/releasenotes/notes/multilevel-tlds-3dadd285fed82715.yaml0000666000175100017510000000030313245511330025634 0ustar zuulzuul00000000000000--- fixes: - | Check for multi level tlds Previously we only checked for the last label of a TLD which does not work for `co.uk` or custom internal TLDs that deployers may use designate-6.0.0/releasenotes/notes/remove-v1-api-e38de408c6454de2.yaml0000666000175100017510000000031713245511330025024 0ustar zuulzuul00000000000000--- prelude: > V1 API removal is complete in this version of designate. upgrade: - | Any tooling using the V1 API needs to be reworked to use the v2 API critical: - | V1 API has been removed designate-6.0.0/releasenotes/notes/attribute-filter-f06a53b61f5fd111.yaml0000666000175100017510000000036013245511330025700 0ustar zuulzuul00000000000000--- features: - Addition of the "attribute" filter for scheduling zones across pools. This can be enabled in the ``[service:central]`` section of the config by adding ``attribute`` to the list of values in the ``filters`` option. designate-6.0.0/releasenotes/notes/service-status-ab0e696c8f5fdef8.yaml0000666000175100017510000000072313245511330025650 0ustar zuulzuul00000000000000--- features: - All designate services will now report to designate-central when they are running. This is implmented as a heartbeat reporting system. There is also a new API endpoint in the v2 API - $API_BASE/v2/service_status. This will show the list of services running, and when they last reported as running. Currently the "stats" and "capabilities" values will be blank, but will be updated in the future as services implement them. designate-6.0.0/releasenotes/notes/mini-dns-tcp-c1a15742f5c71739.yaml0000666000175100017510000000077613245511330024602 0ustar zuulzuul00000000000000--- issues: - The fix for minidns's issues TCP can cause minidns to fail to send some messages. This manifests itself with eventlet not being able to send all the data before socket is closed. critical: - Previous versions of eventlet changed the behaviour of socket.send() to match socket.sendall(). in eventlet 0.18.0 this changed and it reverted to the traditional behaviour. MiniDNS has been updated to allow minidns to push large zone transfers over long range network connections ././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000designate-6.0.0/releasenotes/notes/zone_name-null-zone-trasfer-request-response-a2e316872798d1df.yamldesignate-6.0.0/releasenotes/notes/zone_name-null-zone-trasfer-request-response-a2e316872798d1df.yam0000666000175100017510000000012413245511330033062 0ustar zuulzuul00000000000000--- fixes: - Added zone_name in zone trasfer request response. Closed bug#1580014 designate-6.0.0/releasenotes/notes/knot-agent-backend-db2893aa97d85a1d.yaml0000666000175100017510000000010613245511330026143 0ustar zuulzuul00000000000000--- features: - An experimental agent backend to support Knot DNS 2 designate-6.0.0/releasenotes/notes/cfg-notification-remove.yaml0000666000175100017510000000114413245511330024726 0ustar zuulzuul00000000000000--- critical: - The `format` cfg in nova and neutron notification both will remove in the Pike. Please set ``formatv4`` and ``formatv6`` in the ``[handler:nova_fixed]`` and ``[handler:neutron_floatingip]`` your designate config file. ``formatv4 = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(zone)s'`` ``formatv4 = '%(hostname)s.%(project)s.%(zone)s'`` ``formatv4 = '%(hostname)s.%(zone)s'`` ``formatv6 = '%(hostname)s.%(project)s.%(zone)s'`` ``formatv6 = '%(hostname)s.%(zone)s'`` - The above config which you need to put or uncomment them into/in designate config file. designate-6.0.0/releasenotes/notes/pluggable-notifications-bd049b755a2ace9c.yaml0000666000175100017510000000150213245511330027372 0ustar zuulzuul00000000000000--- features: - Operators now have a choice in the type of notification payload content that Designate can emit via oslo.messaging's Notifier. The default plugin is configured to emit the same information that the notifications previous to this patch emitted. So there is no functional change. Operators can write their own notification plugins that exist in designate/notifications.py. An "audit" plugin is included. This plugin emits object changes, if they exist, along with zone ids, zone/recordset names. A plugin can define multiple payloads from a single notification to be emitted at once, if desirable. The selection of a plugin is defined by python entrypoints (for driver availability) and the new "notification_plugin" option in the "DEFAULT" config section. designate-6.0.0/releasenotes/notes/v1-disabled-ffebc0434fa0665f.yaml0000666000175100017510000000027413245511330024662 0ustar zuulzuul00000000000000--- critical: - The ``v1`` API is now off by default. To re-enable the V1 API please set ``enable_api_v1 = True`` in the ``[service:api]`` section of your designate config file. designate-6.0.0/releasenotes/notes/newton-rc-1-eddc78fac760b98a.yaml0000666000175100017510000000163413245511330024735 0ustar zuulzuul00000000000000--- prelude: > This release has started the migration of our services to a ``worker`` and ``producer`` model. This has started by deprecating ``designate-zone-manager`` and ``designate-pool-manager``. We have also added support for new DNS Servers, and added scheduling across pools. features: - Added ``designate-worker`` and ``designate-producer``. This will allow for better scaling across a designate system as we move forward. upgrade: - To enable ``designate-worker`` and ``designate-producer`` add a section to your ``designate.conf`` called ``[service:worker]`` and add an option ``enabled = True``. Then stop ``designate-pool-manager`` and ``designate-zone-manager``, and start ``designate-worker`` and ``designate-producer`` deprecations: - Both ``designate-zone-manager`` and ``designate-pool-manager`` are now deprecated and will be removed in a future release. designate-6.0.0/releasenotes/notes/pool-config-db-45a2cad74e22d95e.yaml0000666000175100017510000000131613245511330025304 0ustar zuulzuul00000000000000--- features: - New method of updating Pools. We have a new sub command on the ``designate-manage`` utility. upgrade: - Upgrade from Liberty to Mitaka *will* require downtime due to migration of Pool Configuration data from config files, to the database. See the Upgrade Documentation for full details. - Pool Names are now required to be unique. If there is 2 pools with the same name - this will need to be changed before the upgrade is performed. deprecations: - Create / Update / Delete API methods on /v2/pools/ Using these messages **will** cause unforseen issues with pools. We highly recommend that the policy file be updated to restrict create / update / delete from all users designate-6.0.0/releasenotes/notes/agent-port-number-c28462562a74cbf9.yaml0000666000175100017510000000035213245511330025721 0ustar zuulzuul00000000000000--- upgrade: - The default port which the designate-agent service listens on has changed from 53 to 5358. This matches the port we have always used in the sample configuration, and the port used in the agent backend class. designate-6.0.0/releasenotes/notes/recordset-api-2c82abf569f7623e.yaml0000666000175100017510000000035613245511330025203 0ustar zuulzuul00000000000000--- features: - A new recordset api ``/v2/recordsets`` is exposed with GET method allowed only. The api can be used for retrieving recordsets across all the zones under a tenant. Filtering on certain fields is supported as well.designate-6.0.0/releasenotes/notes/v2-api-quotas-dd7e189cddcf7b96.yaml0000666000175100017510000000073313245511330025302 0ustar zuulzuul00000000000000--- features: - This adds the quotas api from /admin to /v2 with some changes. All users can GET /v2/quotas/ Users with "All-Projects" permission can view other projects (by setting X-Auth-All-Projects:True in the HTTP Headers) Users with "All-Projects" and "set-quotas" can set other projects quotas Moved the API rendering to Designate Object based rendering fixes: - V1 API Users can now query v1/quotas/ for quotas designate-6.0.0/releasenotes/notes/policy-in-code-8d3f4f89e2ede50f.yaml0000666000175100017510000000137713245511330025430 0ustar zuulzuul00000000000000--- features: - | Designate now support policy in code, which means if users don't want to modify any of policy rules, they can remove or comment all of rules in policy file or even not deploy it at all. Because from now, Designate keeps all default policies under `designate/common/policies` module. Users can modify/generate `policy.yaml` file which will override policy rules in code if those rules show in `policy.yaml` file. Users also still use `policy.json` file but oslo team recommend that we should use the newer YAML format instead. other: - | Default `policy.json` file is now removed as Designate now generate the default policies from code. Please be aware that when using that file in your environment. designate-6.0.0/releasenotes/notes/.placeholder0000666000175100017510000000000013245511330021575 0ustar zuulzuul00000000000000designate-6.0.0/releasenotes/notes/api-mdns-multiple-bind-c78853de46ee587d.yaml0000666000175100017510000000122313245511330026725 0ustar zuulzuul00000000000000--- features: - designate-mdns, designate-agent and designate-api can now bind to multiple host:port pairs via the new "listen" configuration arguments for eacg service. deprecations: - designate-api's api_host and api_port configuration options have been deprecated, please use the new combined "listen" argument in place of these. - designate-mdns's host and port configuration options have been deprecated, please use the new combined "listen" argument in place of these. - designate-agents's host and port configuration options have been deprecated, please use the new combined "listen" argument in place of these. designate-6.0.0/releasenotes/source/0000775000175100017510000000000013245511630017475 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/newton.rst0000666000175100017510000000023213245511330021535 0ustar zuulzuul00000000000000=================================== Newton Series Release Notes =================================== .. release-notes:: :branch: origin/stable/newton designate-6.0.0/releasenotes/source/_static/0000775000175100017510000000000013245511630021123 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/_static/.placeholder0000666000175100017510000000000013245511330023373 0ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/liberty.rst0000666000175100017510000000022213245511330021674 0ustar zuulzuul00000000000000============================== Liberty Series Release Notes ============================== .. release-notes:: :branch: origin/stable/liberty designate-6.0.0/releasenotes/source/pike.rst0000666000175100017510000000021713245511330021156 0ustar zuulzuul00000000000000=================================== Pike Series Release Notes =================================== .. release-notes:: :branch: stable/pike designate-6.0.0/releasenotes/source/conf.py0000666000175100017510000002174013245511330020777 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. # Designate Release Notes documentation build configuration file, created by # sphinx-quickstart on Tue Nov 3 17:40:50 2015. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'openstackdocstheme', 'reno.sphinxext', ] # openstackdocstheme options repository_name = 'openstack/designate' bug_project = 'designate' bug_tag = '' html_last_updated_fmt = '%Y-%m-%d %H:%M' # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = u'Designate Release Notes' copyright = u'2015, Designate Developers' # Release notes are versions independent. # The short X.Y version. # The full version, including alpha/beta/rc tags. release = '' # The short X.Y version. version = '' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = [] # The reST default role (used for this markup: `text`) to use for all # documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'openstackdocs' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. # html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_domain_indices = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'DesignateReleaseNotesdoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. # 'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'DesignateReleaseNotes.tex', u'Designate Release Notes ' u'Documentation', u'Designate Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'designatereleasenotes', u'Designate Release Notes ' u'Documentation', [u'Designate Developers'], 1) ] # If true, show URL addresses after external links. # man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ('index', 'DesignateReleaseNotes', u'Designate Release Notes ' u'Documentation', u'Designate Developers', 'DesignateReleaseNotes', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. # texinfo_appendices = [] # If false, no module index is generated. # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. # texinfo_no_detailmenu = False # -- Options for Internationalization output ------------------------------ locale_dirs = ['locale/'] designate-6.0.0/releasenotes/source/locale/0000775000175100017510000000000013245511630020734 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/ja/0000775000175100017510000000000013245511630021326 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/ja/LC_MESSAGES/0000775000175100017510000000000013245511630023113 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po0000666000175100017510000000561313245511330026150 0ustar zuulzuul00000000000000# Akihiro Motoki , 2016. #zanata # KATO Tomoyuki , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: Designate Release Notes 5.0.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-03 13:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-05-01 12:49+0000\n" "Last-Translator: KATO Tomoyuki \n" "Language-Team: Japanese\n" "Language: ja\n" "X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=1; plural=0\n" msgid "1.0.1" msgstr "1.0.1" msgid "1.0.2" msgstr "1.0.2" msgid "2.0.0" msgstr "2.0.0" msgid "ASync Export" msgstr "非同期エクスポート" msgid "ASync Import" msgstr "非同期インポート" msgid "Active / passive failover for designate-pool-manager periodic tasks" msgstr "" "designate-pool-manager 定期タスクのアクティブ / パッシブのフェイルオーバー" msgid "Added Designate Backend" msgstr "Designate Backend の追加" msgid "Added InfoBlox Backend" msgstr "InfoBlox Backend の追加" msgid "Bug Fixes" msgstr "バグ修正" msgid "Ceilometer \"exists\" periodic event per domain" msgstr "ドメインごとの Ceilometer \"exists\" 定期イベント" msgid "Critical Issues" msgstr "致命的な問題" msgid "Current Series Release Notes" msgstr "開発中バージョンのリリースノート" msgid "Deprecation Notes" msgstr "廃止予定の機能" msgid "Designate Release Notes" msgstr "Designate リリースノート" msgid "" "Import of release notes from https://wiki.openstack.org/wiki/ReleaseNotes/" "Liberty#OpenStack_DNS_.28Designate.29" msgstr "" "https://wiki.openstack.org/wiki/ReleaseNotes/" "Liberty#OpenStack_DNS_.28Designate.29 からのリリースノートのインポート" msgid "Known Issues" msgstr "既知の問題" msgid "Liberty Series Release Notes" msgstr "Liberty バージョンのリリースノート" msgid "Mitaka Series Release Notes" msgstr "Mitaka バージョンのリリースノート" msgid "New Features" msgstr "新機能" msgid "New service designate-zone-manager" msgstr "新サービス designate-zone-manager" msgid "OpenStack client integration" msgstr "OpenStack client 統合" msgid "Other Notes" msgstr "その他の注意点" msgid "Upgrade Notes" msgstr "アップグレード時の注意" msgid "default-soa-refresh configuration option" msgstr "default-soa-refresh 設定オプション" msgid "" "designate-zone-manager : It is recommended to use a supported tooz backend." msgstr "" "designate-zone-manager : サポートされる tooz バックエンドを使用するために推奨" "されます。" msgid "" "designate-zone-manager : ZooKeeper is recommended, or anything supported by " "tooz." msgstr "" "designate-zone-manager : ZooKeeper が推奨されます。または、tooz によりサポー" "トされるものすべて。" designate-6.0.0/releasenotes/source/locale/en_GB/0000775000175100017510000000000013245511630021706 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/0000775000175100017510000000000013245511630023473 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po0000666000175100017510000005133013245511334026531 0ustar zuulzuul00000000000000# Andi Chandler , 2017. #zanata # Andi Chandler , 2018. #zanata msgid "" msgstr "" "Project-Id-Version: Designate Release Notes\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-02-02 17:20+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2018-01-30 02:27+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" "X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "1.0.1" msgstr "1.0.1" msgid "1.0.2" msgstr "1.0.2" msgid "2.0.0" msgstr "2.0.0" msgid "2.1.0" msgstr "2.1.0" msgid "3.0.0" msgstr "3.0.0" msgid "4.0.0" msgstr "4.0.0" msgid "5.0.0" msgstr "5.0.0" msgid "6.0.0.0b2" msgstr "6.0.0.0b2" msgid "6.0.0.0b3" msgstr "6.0.0.0b3" msgid "" "A new recordset api ``/v2/recordsets`` is exposed with GET method allowed " "only. The api can be used for retrieving recordsets across all the zones " "under a tenant. Filtering on certain fields is supported as well." msgstr "" "A new recordset API ``/v2/recordsets`` is exposed with GET method allowed " "only. The API can be used for retrieving recordsets across all the zones " "under a tenant. Filtering on certain fields is supported as well." msgid "ASync Export" msgstr "ASync Export" msgid "ASync Import" msgstr "ASync Import" msgid "Active / passive failover for designate-pool-manager periodic tasks" msgstr "Active / passive failover for designate-pool-manager periodic tasks" msgid "Added Designate Backend" msgstr "Added Designate Backend" msgid "Added InfoBlox Backend" msgstr "Added InfoBlox Backend" msgid "" "Added ``designate-worker`` and ``designate-producer``. This will allow for " "better scaling across a designate system as we move forward." msgstr "" "Added ``designate-worker`` and ``designate-producer``. This will allow for " "better scaling across a designate system as we move forward." msgid "Added zone_name in zone trasfer request response. Closed bug#1580014" msgstr "Added zone_name in zone transfer request response. Closed bug#1580014" msgid "" "Addition of the \"attribute\" filter for scheduling zones across pools. This " "can be enabled in the ``[service:central]`` section of the config by adding " "``attribute`` to the list of values in the ``filters`` option." msgstr "" "Addition of the \"attribute\" filter for scheduling zones across pools. This " "can be enabled in the ``[service:central]`` section of the config by adding " "``attribute`` to the list of values in the ``filters`` option." msgid "" "All designate services will now report to designate-central when they are " "running. This is implmented as a heartbeat reporting system. There is also a " "new API endpoint in the v2 API - $API_BASE/v2/service_status. This will show " "the list of services running, and when they last reported as running. " "Currently the \"stats\" and \"capabilities\" values will be blank, but will " "be updated in the future as services implement them." msgstr "" "All designate services will now report to designate-central when they are " "running. This is implemented as a heartbeat reporting system. There is also " "a new API endpoint in the v2 API - $API_BASE/v2/service_status. This will " "show the list of services running, and when they last reported as running. " "Currently the \"stats\" and \"capabilities\" values will be blank, but will " "be updated in the future as services implement them." msgid "An experimental agent backend to support Knot DNS 2" msgstr "An experimental agent backend to support Knot DNS 2" msgid "" "An experimental agent backend to support TinyDNS, the DNS resolver from the " "djbdns tools." msgstr "" "An experimental agent backend to support TinyDNS, the DNS resolver from the " "djbdns tools." msgid "Any tooling using the V1 API needs to be reworked to use the v2 API" msgstr "Any tooling using the V1 API needs to be reworked to use the v2 API" msgid "" "Both ``designate-zone-manager`` and ``designate-pool-manager`` are now " "deprecated and will be removed in a future release." msgstr "" "Both ``designate-zone-manager`` and ``designate-pool-manager`` are now " "deprecated and will be removed in a future release." msgid "Bug Fixes" msgstr "Bug Fixes" msgid "Ceilometer \"exists\" periodic event per domain" msgstr "Ceilometer \"exists\" periodic event per domain" msgid "Check for multi level tlds" msgstr "Check for multi level TLDs" msgid "" "Create / Update / Delete API methods on /v2/pools/ Using these messages " "**will** cause unforseen issues with pools. We highly recommend that the " "policy file be updated to restrict create / update / delete from all users" msgstr "" "Create / Update / Delete API methods on /v2/pools/ Using these messages " "**will** cause unforeseen issues with pools. We highly recommend that the " "policy file be updated to restrict create / update / delete from all users" msgid "Critical Issues" msgstr "Critical Issues" msgid "Current Series Release Notes" msgstr "Current Series Release Notes" msgid "" "Default `policy.json` file is now removed as Designate now generate the " "default policies from code. Please be aware that when using that file in " "your environment." msgstr "" "Default `policy.json` file is now removed as Designate now generates the " "default policies from code. Please be aware of that when using that file in " "your environment." msgid "Deprecation Notes" msgstr "Deprecation Notes" msgid "Designate Release Notes" msgstr "Designate Release Notes" msgid "" "Designate no longer will attempt to guess content type based on an extension " "to the URL. So GET /v2/zones.json is no longer an acceptable URL." msgstr "" "Designate no longer will attempt to guess content type based on an extension " "to the URL. So GET /v2/zones.json is no longer an acceptable URL." msgid "" "Designate now support policy in code, which means if users don't want to " "modify any of policy rules, they can remove or comment all of rules in " "policy file or even not deploy it at all. Because from now, Designate keeps " "all default policies under `designate/common/policies` module. Users can " "modify/generate `policy.yaml` file which will override policy rules in code " "if those rules show in `policy.yaml` file. Users also still use `policy." "json` file but oslo team recommend that we should use the newer YAML format " "instead." msgstr "" "Designate now support policy in code, which means if users don't want to " "modify any of policy rules, they can remove or comment all of rules in " "policy file or even not deploy it at all. Because from now, Designate keeps " "all default policies under `designate/common/policies` module. Users can " "modify/generate `policy.yaml` file which will override policy rules in code " "if those rules show in `policy.yaml` file. Users also still use `policy." "json` file but Oslo team recommend that we should use the newer YAML format " "instead." msgid "Horizon Plugin moved out of tree" msgstr "Horizon Plugin moved out of tree" msgid "" "Import of release notes from https://wiki.openstack.org/wiki/ReleaseNotes/" "Liberty#OpenStack_DNS_.28Designate.29" msgstr "" "Import of release notes from https://wiki.openstack.org/wiki/ReleaseNotes/" "Liberty#OpenStack_DNS_.28Designate.29" msgid "Known Issues" msgstr "Known Issues" msgid "Liberty Series Release Notes" msgstr "Liberty Series Release Notes" msgid "Mitaka Series Release Notes" msgstr "Mitaka Series Release Notes" msgid "New Features" msgstr "New Features" msgid "" "New method of updating Pools. We have a new sub command on the ``designate-" "manage`` utility." msgstr "" "New method of updating Pools. We have a new sub command on the ``designate-" "manage`` utility." msgid "New service designate-zone-manager" msgstr "New service designate-zone-manager" msgid "Newton Series Release Notes" msgstr "Newton Series Release Notes" msgid "Ocata Series Release Notes" msgstr "Ocata Series Release Notes" msgid "OpenStack client integration" msgstr "OpenStack client integration" msgid "" "Operators now have a choice in the type of notification payload content that " "Designate can emit via oslo.messaging's Notifier. The default plugin is " "configured to emit the same information that the notifications previous to " "this patch emitted. So there is no functional change. Operators can write " "their own notification plugins that exist in designate/notifications.py. An " "\"audit\" plugin is included. This plugin emits object changes, if they " "exist, along with zone ids, zone/recordset names. A plugin can define " "multiple payloads from a single notification to be emitted at once, if " "desirable. The selection of a plugin is defined by python entrypoints (for " "driver availability) and the new \"notification_plugin\" option in the " "\"DEFAULT\" config section." msgstr "" "Operators now have a choice in the type of notification payload content that " "Designate can emit via oslo.messaging's Notifier. The default plugin is " "configured to emit the same information that the notifications previous to " "this patch emitted. So there is no functional change. Operators can write " "their own notification plugins that exist in designate/notifications.py. An " "\"audit\" plugin is included. This plugin emits object changes, if they " "exist, along with zone ids, zone/recordset names. A plugin can define " "multiple payloads from a single notification to be emitted at once, if " "desirable. The selection of a plugin is defined by python entrypoints (for " "driver availability) and the new \"notification_plugin\" option in the " "\"DEFAULT\" config section." msgid "Other Notes" msgstr "Other Notes" msgid "Pike Series Release Notes" msgstr "Pike Series Release Notes" msgid "" "Pool Names are now required to be unique. If there is 2 pools with the same " "name - this will need to be changed before the upgrade is performed." msgstr "" "Pool Names are now required to be unique. If there is 2 pools with the same " "name - this will need to be changed before the upgrade is performed." msgid "Prelude" msgstr "Prelude" msgid "" "Previous versions of eventlet changed the behaviour of socket.send() to " "match socket.sendall(). in eventlet 0.18.0 this changed and it reverted to " "the traditional behaviour. MiniDNS has been updated to allow minidns to push " "large zone transfers over long range network connections" msgstr "" "Previous versions of eventlet changed the behaviour of socket.send() to " "match socket.sendall(). in eventlet 0.18.0 this changed and it reverted to " "the traditional behaviour. MiniDNS has been updated to allow MiniDNS to push " "large zone transfers over long range network connections" msgid "" "Previously we only checked for the last label of a TLD which does not work " "for `co.uk` or custom internal TLDs that deployers may use" msgstr "" "Previously we only checked for the last label of a TLD which does not work " "for `co.uk` or custom internal TLDs that deployers may use" msgid "Purging deleted domains" msgstr "Purging deleted domains" msgid "" "Randomize SOA refresh interval to stagger AXFRs across multiple zones and " "resolvers. Introduce the new configuration parameters default-soa-refresh-" "min and default-soa-refresh-max" msgstr "" "Randomize SOA refresh interval to stagger AXFRs across multiple zones and " "resolvers. Introduce the new configuration parameters default-soa-refresh-" "min and default-soa-refresh-max" msgid "" "Schedule across pools. See http://doc.openstack.org/developer/designate/" "pools/scheduler.html#default-provided-filters for the built in filters" msgstr "" "Schedule across pools. See http://doc.openstack.org/developer/designate/" "pools/scheduler.html#default-provided-filters for the built in filters" msgid "Start using reno to manage release notes." msgstr "Start using Reno to manage release notes." msgid "" "The ``v1`` API is now off by default. To re-enable the V1 API please set " "``enable_api_v1 = True`` in the ``[service:api]`` section of your designate " "config file." msgstr "" "The ``v1`` API is now off by default. To re-enable the V1 API please set " "``enable_api_v1 = True`` in the ``[service:api]`` section of your designate " "config file." msgid "" "The `format` cfg in nova and neutron notification both will remove in the " "Pike. Please set ``formatv4`` and ``formatv6`` in the ``[handler:" "nova_fixed]`` and ``[handler:neutron_floatingip]`` your designate config " "file. ``formatv4 = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(zone)s'`` " "``formatv4 = '%(hostname)s.%(project)s.%(zone)s'`` ``formatv4 = " "'%(hostname)s.%(zone)s'`` ``formatv6 = '%(hostname)s.%(project)s.%(zone)s'`` " "``formatv6 = '%(hostname)s.%(zone)s'``" msgstr "" "The `format` cfg in nova and neutron notification both will remove in the " "Pike. Please set ``formatv4`` and ``formatv6`` in the ``[handler:" "nova_fixed]`` and ``[handler:neutron_floatingip]`` your designate config " "file. ``formatv4 = '%(octet0)s-%(octet1)s-%(octet2)s-%(octet3)s.%(zone)s'`` " "``formatv4 = '%(hostname)s.%(project)s.%(zone)s'`` ``formatv4 = " "'%(hostname)s.%(zone)s'`` ``formatv6 = '%(hostname)s.%(project)s.%(zone)s'`` " "``formatv6 = '%(hostname)s.%(zone)s'``" msgid "" "The above config which you need to put or uncomment them into/in designate " "config file." msgstr "" "The above config which you need to put or uncomment them into/in designate " "config file." msgid "" "The default option for the scheduler filters will be ``attribute, " "pool_id_attribute, random``." msgstr "" "The default option for the scheduler filters will be ``attribute, " "pool_id_attribute, random``." msgid "" "The default port which the designate-agent service listens on has changed " "from 53 to 5358. This matches the port we have always used in the sample " "configuration, and the port used in the agent backend class." msgstr "" "The default port which the designate-agent service listens on has changed " "from 53 to 5358. This matches the port we have always used in the sample " "configuration, and the port used in the agent backend class." msgid "" "The fix for minidns's issues TCP can cause minidns to fail to send some " "messages. This manifests itself with eventlet not being able to send all the " "data before socket is closed." msgstr "" "The fix for MiniDNS's issues TCP can cause MiniDNS to fail to send some " "messages. This manifests itself with eventlet not being able to send all the " "data before socket is closed." msgid "" "This adds the quotas api from /admin to /v2 with some changes. All users can " "GET /v2/quotas/ Users with \"All-Projects\" permission can view " "other projects (by setting X-Auth-All-Projects:True in the HTTP Headers) " "Users with \"All-Projects\" and \"set-quotas\" can set other projects quotas " "Moved the API rendering to Designate Object based rendering" msgstr "" "This adds the quotas API from /admin to /v2 with some changes. All users can " "GET /v2/quotas/ Users with \"All-Projects\" permission can view " "other projects (by setting X-Auth-All-Projects:True in the HTTP Headers) " "Users with \"All-Projects\" and \"set-quotas\" can set other projects quotas " "Moved the API rendering to Designate Object based rendering" msgid "" "This release has started the migration of our services to a ``worker`` and " "``producer`` model. This has started by deprecating ``designate-zone-" "manager`` and ``designate-pool-manager``. We have also added support for new " "DNS Servers, and added scheduling across pools." msgstr "" "This release has started the migration of our services to a ``worker`` and " "``producer`` model. This has started by deprecating ``designate-zone-" "manager`` and ``designate-pool-manager``. We have also added support for new " "DNS Servers, and added scheduling across pools." msgid "" "To enable ``designate-worker`` and ``designate-producer`` add a section to " "your ``designate.conf`` called ``[service:worker]`` and add an option " "``enabled = True``. Then stop ``designate-pool-manager`` and ``designate-" "zone-manager``, and start ``designate-worker`` and ``designate-producer``" msgstr "" "To enable ``designate-worker`` and ``designate-producer`` add a section to " "your ``designate.conf`` called ``[service:worker]`` and add an option " "``enabled = True``. Then stop ``designate-pool-manager`` and ``designate-" "zone-manager``, and start ``designate-worker`` and ``designate-producer``" msgid "" "To maintain exact matching behaviour (if you have multiple pools) you will " "need to set the ``scheduler_filters`` option in ``[service:central]`` to " "``default_pool``" msgstr "" "To maintain exact matching behaviour (if you have multiple pools) you will " "need to set the ``scheduler_filters`` option in ``[service:central]`` to " "``default_pool``" msgid "Upgrade Notes" msgstr "Upgrade Notes" msgid "" "Upgrade from Liberty to Mitaka *will* require downtime due to migration of " "Pool Configuration data from config files, to the database. See the Upgrade " "Documentation for full details." msgstr "" "Upgrade from Liberty to Mitaka *will* require downtime due to migration of " "Pool Configuration data from config files, to the database. See the Upgrade " "Documentation for full details." msgid "V1 API Users can now query v1/quotas/ for quotas" msgstr "V1 API Users can now query v1/quotas/ for quotas" msgid "V1 API has been removed" msgstr "V1 API has been removed" msgid "V1 API removal is complete in this version of designate." msgstr "V1 API removal is complete in this version of designate." msgid "default-soa-refresh configuration option" msgstr "default-soa-refresh configuration option" msgid "" "deprecations : V1 API : An initial notice of intent, as there are operations " "that still require the Designate CLI interface which talks to V1, and " "Horizon panels that only talk to V1." msgstr "" "deprecations : V1 API : An initial notice of intent, as there are operations " "that still require the Designate CLI interface which talks to V1, and " "Horizon panels that only talk to V1." msgid "" "designate-agents's host and port configuration options have been deprecated, " "please use the new combined \"listen\" argument in place of these." msgstr "" "designate-agents's host and port configuration options have been deprecated, " "please use the new combined \"listen\" argument in place of these." msgid "" "designate-api's api_host and api_port configuration options have been " "deprecated, please use the new combined \"listen\" argument in place of " "these." msgstr "" "designate-api's api_host and api_port configuration options have been " "deprecated, please use the new combined \"listen\" argument in place of " "these." msgid "" "designate-mdns's host and port configuration options have been deprecated, " "please use the new combined \"listen\" argument in place of these." msgstr "" "designate-mdns's host and port configuration options have been deprecated, " "please use the new combined \"listen\" argument in place of these." msgid "" "designate-mdns, designate-agent and designate-api can now bind to multiple " "host:port pairs via the new \"listen\" configuration arguments for eacg " "service." msgstr "" "designate-mdns, designate-agent and designate-api can now bind to multiple " "host:port pairs via the new \"listen\" configuration arguments for each " "service." msgid "" "designate-pool-manager : If a tooz backend is not used, all pool-managers " "will assume ownership of the pool, and multiple periodic tasks will run. " "This can result in unforeseen consequences." msgstr "" "designate-pool-manager : If a tooz backend is not used, all pool-managers " "will assume ownership of the pool, and multiple periodic tasks will run. " "This can result in unforeseen consequences." msgid "" "designate-pool-manager : It is recommended to use a supported tooz backend." msgstr "" "designate-pool-manager : It is recommended to use a supported Tooz backend." msgid "" "designate-pool-manager : The service can do active/passive failover for " "periodic tasks." msgstr "" "designate-pool-manager : The service can do active/passive failover for " "periodic tasks." msgid "" "designate-zone-manager : If a tooz backend is not used, all zone-managers " "will assume ownership of all zones, and there will be 'n' 'exists' messages " "per hour, where 'n' is the number of zone-manager processes." msgstr "" "designate-zone-manager : If a Tooz backend is not used, all zone-managers " "will assume ownership of all zones, and there will be 'n' 'exists' messages " "per hour, where 'n' is the number of zone-manager processes." msgid "" "designate-zone-manager : It is recommended to use a supported tooz backend." msgstr "" "designate-zone-manager : It is recommended to use a supported Tooz backend." msgid "" "designate-zone-manager : ZooKeeper is recommended, or anything supported by " "tooz." msgstr "" "designate-zone-manager : ZooKeeper is recommended, or anything supported by " "Tooz." designate-6.0.0/releasenotes/source/locale/fr/0000775000175100017510000000000013245511630021343 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/fr/LC_MESSAGES/0000775000175100017510000000000013245511630023130 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po0000666000175100017510000000351713245511330026166 0ustar zuulzuul00000000000000# Gérald LONLAS , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: Designate Release Notes 5.0.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-03 13:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-10-22 04:43+0000\n" "Last-Translator: Gérald LONLAS \n" "Language-Team: French\n" "Language: fr\n" "X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" msgid "1.0.1" msgstr "1.0.1" msgid "1.0.2" msgstr "1.0.2" msgid "2.0.0" msgstr "2.0.0" msgid "3.0.0" msgstr "3.0.0" msgid "ASync Export" msgstr "Export Async" msgid "ASync Import" msgstr "Import Async" msgid "Added Designate Backend" msgstr "Ajout du Backend Designate" msgid "Added InfoBlox Backend" msgstr "Ajout du Backend InfoBlox" msgid "Bug Fixes" msgstr "Corrections de bugs" msgid "Critical Issues" msgstr "Erreurs critiques" msgid "Current Series Release Notes" msgstr "Note de la release actuelle" msgid "Deprecation Notes" msgstr "Notes dépréciées " msgid "Designate Release Notes" msgstr "Note de release de Designate" msgid "Known Issues" msgstr "Problèmes connus" msgid "Liberty Series Release Notes" msgstr "Note de release pour Liberty" msgid "Mitaka Series Release Notes" msgstr "Note de release pour Mitaka" msgid "New Features" msgstr "Nouvelles fonctionnalités" msgid "Newton Series Release Notes" msgstr "Note de release pour Newton" msgid "OpenStack client integration" msgstr "Intégration du client OpenStack" msgid "Other Notes" msgstr "Autres notes" msgid "Purging deleted domains" msgstr "Purge des domaines supprimés" msgid "Start using reno to manage release notes." msgstr "Commence à utiliser reno pour la gestion des notes de release" msgid "Upgrade Notes" msgstr "Notes de mises à jours" designate-6.0.0/releasenotes/source/unreleased.rst0000666000175100017510000000016013245511330022352 0ustar zuulzuul00000000000000============================== Current Series Release Notes ============================== .. release-notes:: designate-6.0.0/releasenotes/source/index.rst0000666000175100017510000000025213245511334021340 0ustar zuulzuul00000000000000========================= Designate Release Notes ========================= .. toctree:: :maxdepth: 1 unreleased pike ocata newton mitaka liberty designate-6.0.0/releasenotes/source/mitaka.rst0000666000175100017510000000023213245511330021471 0ustar zuulzuul00000000000000=================================== Mitaka Series Release Notes =================================== .. release-notes:: :branch: origin/stable/mitaka designate-6.0.0/releasenotes/source/ocata.rst0000666000175100017510000000023013245511330021310 0ustar zuulzuul00000000000000=================================== Ocata Series Release Notes =================================== .. release-notes:: :branch: origin/stable/ocata designate-6.0.0/releasenotes/source/_templates/0000775000175100017510000000000013245511630021632 5ustar zuulzuul00000000000000designate-6.0.0/releasenotes/source/_templates/.placeholder0000666000175100017510000000000013245511330024102 0ustar zuulzuul00000000000000designate-6.0.0/contrib/0000775000175100017510000000000013245511630015144 5ustar zuulzuul00000000000000designate-6.0.0/contrib/public_suffix_list.dat0000666000175100017510000023731113245511330021541 0ustar zuulzuul00000000000000ac com.ac edu.ac gov.ac net.ac mil.ac org.ac ad nom.ad ae co.ae net.ae org.ae sch.ae ac.ae gov.ae mil.ae aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero aircraft.aero airline.aero airport.aero air-surveillance.aero airtraffic.aero air-traffic-control.aero ambulance.aero amusement.aero association.aero author.aero ballooning.aero broker.aero caa.aero cargo.aero catering.aero certification.aero championship.aero charter.aero civilaviation.aero club.aero conference.aero consultant.aero consulting.aero control.aero council.aero crew.aero design.aero dgca.aero educator.aero emergency.aero engine.aero engineer.aero entertainment.aero equipment.aero exchange.aero express.aero federation.aero flight.aero freight.aero fuel.aero gliding.aero government.aero groundhandling.aero group.aero hanggliding.aero homebuilt.aero insurance.aero journal.aero journalist.aero leasing.aero logistics.aero magazine.aero maintenance.aero media.aero microlight.aero modelling.aero navigation.aero parachuting.aero paragliding.aero passenger-association.aero pilot.aero press.aero production.aero recreation.aero repbody.aero res.aero research.aero rotorcraft.aero safety.aero scientist.aero services.aero show.aero skydiving.aero software.aero student.aero trader.aero trading.aero trainer.aero union.aero workinggroup.aero works.aero af gov.af com.af org.af net.af edu.af ag com.ag org.ag net.ag co.ag nom.ag ai off.ai com.ai net.ai org.ai al com.al edu.al gov.al mil.al net.al org.al am ao ed.ao gv.ao og.ao co.ao pb.ao it.ao aq ar com.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar net.ar org.ar tur.ar arpa e164.arpa in-addr.arpa ip6.arpa iris.arpa uri.arpa urn.arpa as gov.as asia at ac.at co.at gv.at or.at au com.au net.au org.au edu.au gov.au asn.au id.au info.au conf.au oz.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au act.edu.au nsw.edu.au nt.edu.au qld.edu.au sa.edu.au tas.edu.au vic.edu.au wa.edu.au qld.gov.au sa.gov.au tas.gov.au vic.gov.au wa.gov.au aw com.aw ax az com.az net.az int.az gov.az org.az edu.az info.az pp.az mil.az name.az pro.az biz.az ba com.ba edu.ba gov.ba mil.ba net.ba org.ba bb biz.bb co.bb com.bb edu.bb gov.bb info.bb net.bb org.bb store.bb tv.bb *.bd be ac.be bf gov.bf bg a.bg b.bg c.bg d.bg e.bg f.bg g.bg h.bg i.bg j.bg k.bg l.bg m.bg n.bg o.bg p.bg q.bg r.bg s.bg t.bg u.bg v.bg w.bg x.bg y.bg z.bg 0.bg 1.bg 2.bg 3.bg 4.bg 5.bg 6.bg 7.bg 8.bg 9.bg bh com.bh edu.bh net.bh org.bh gov.bh bi co.bi com.bi edu.bi or.bi org.bi biz bj asso.bj barreau.bj gouv.bj bm com.bm edu.bm gov.bm net.bm org.bm *.bn bo com.bo edu.bo gov.bo gob.bo int.bo org.bo net.bo mil.bo tv.bo br abc.br adm.br adv.br agr.br aju.br am.br aparecida.br arq.br art.br ato.br b.br belem.br bio.br blog.br bmd.br bsb.br cim.br cng.br cnt.br com.br coop.br cri.br cuiaba.br def.br ecn.br eco.br edu.br emp.br eng.br esp.br etc.br eti.br far.br flog.br floripa.br fortal.br fm.br fnd.br fot.br fst.br g12.br ggf.br gov.br ac.gov.br al.gov.br am.gov.br ap.gov.br ba.gov.br ce.gov.br df.gov.br es.gov.br go.gov.br ma.gov.br mg.gov.br ms.gov.br mt.gov.br pa.gov.br pb.gov.br pe.gov.br pi.gov.br pr.gov.br rj.gov.br rn.gov.br ro.gov.br rr.gov.br rs.gov.br sc.gov.br se.gov.br sp.gov.br to.gov.br gru.br imb.br ind.br inf.br jampa.br jor.br jus.br leg.br lel.br londrina.br macapa.br maceio.br mat.br med.br mil.br mp.br mus.br natal.br net.br niteroi.br *.nom.br not.br ntr.br odo.br org.br osasco.br palmas.br poa.br ppg.br pro.br psc.br psi.br qsl.br radio.br rec.br recife.br riobranco.br sjc.br slg.br srv.br taxi.br teo.br tmp.br trd.br tur.br tv.br udi.br vet.br vix.br vlog.br wiki.br zlg.br bs com.bs net.bs org.bs edu.bs gov.bs bt com.bt edu.bt gov.bt net.bt org.bt bv bw co.bw org.bw by gov.by mil.by com.by of.by bz com.bz net.bz org.bz edu.bz gov.bz ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca gc.ca cat cc cd gov.cd cf cg ch ci org.ci or.ci com.ci co.ci edu.ci ed.ci ac.ci net.ci go.ci asso.ci aéroport.ci int.ci presse.ci md.ci gouv.ci *.ck !www.ck cl gov.cl gob.cl co.cl mil.cl cm co.cm com.cm gov.cm net.cm cn ac.cn com.cn edu.cn gov.cn net.cn org.cn mil.cn 公司.cn 网络.cn 網絡.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gz.cn gx.cn ha.cn hb.cn he.cn hi.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn xj.cn xz.cn yn.cn zj.cn hk.cn mo.cn tw.cn co arts.co com.co edu.co firm.co gov.co info.co int.co mil.co net.co nom.co org.co rec.co web.co com coop cr ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr cu com.cu edu.cu org.cu net.cu gov.cu inf.cu cv cw com.cw edu.cw net.cw org.cw cx gov.cx cy ac.cy biz.cy com.cy ekloges.cy gov.cy ltd.cy name.cy net.cy org.cy parliament.cy press.cy pro.cy tm.cy cz de dj dk dm com.dm net.dm org.dm edu.dm gov.dm do art.do com.do edu.do gob.do gov.do mil.do net.do org.do sld.do web.do dz com.dz org.dz net.dz gov.dz edu.dz asso.dz pol.dz art.dz ec com.ec info.ec net.ec fin.ec k12.ec med.ec pro.ec org.ec edu.ec gov.ec gob.ec mil.ec edu ee edu.ee gov.ee riik.ee lib.ee med.ee com.ee pri.ee aip.ee org.ee fie.ee eg com.eg edu.eg eun.eg gov.eg mil.eg name.eg net.eg org.eg sci.eg *.er es com.es nom.es org.es gob.es edu.es et com.et gov.et org.et edu.et biz.et name.et info.et net.et eu fi aland.fi *.fj *.fk fm fo fr com.fr asso.fr nom.fr prd.fr presse.fr tm.fr aeroport.fr assedic.fr avocat.fr avoues.fr cci.fr chambagri.fr chirurgiens-dentistes.fr experts-comptables.fr geometre-expert.fr gouv.fr greta.fr huissier-justice.fr medecin.fr notaires.fr pharmacien.fr port.fr veterinaire.fr ga gb gd ge com.ge edu.ge gov.ge org.ge mil.ge net.ge pvt.ge gf gg co.gg net.gg org.gg gh com.gh edu.gh gov.gh org.gh mil.gh gi com.gi ltd.gi gov.gi mod.gi edu.gi org.gi gl co.gl com.gl edu.gl net.gl org.gl gm gn ac.gn com.gn edu.gn gov.gn org.gn net.gn gov gp com.gp net.gp mobi.gp edu.gp org.gp asso.gp gq gr com.gr edu.gr net.gr org.gr gov.gr gs gt com.gt edu.gt gob.gt ind.gt mil.gt net.gt org.gt *.gu gw gy co.gy com.gy edu.gy gov.gy net.gy org.gy hk com.hk edu.hk gov.hk idv.hk net.hk org.hk 公司.hk 教育.hk 敎育.hk 政府.hk 個人.hk 个人.hk 箇人.hk 網络.hk 网络.hk 组織.hk 網絡.hk 网絡.hk 组织.hk 組織.hk 組织.hk hm hn com.hn edu.hn org.hn net.hn mil.hn gob.hn hr iz.hr from.hr name.hr com.hr ht com.ht shop.ht firm.ht info.ht adult.ht net.ht pro.ht org.ht med.ht art.ht coop.ht pol.ht asso.ht edu.ht rel.ht gouv.ht perso.ht hu co.hu info.hu org.hu priv.hu sport.hu tm.hu 2000.hu agrar.hu bolt.hu casino.hu city.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu reklam.hu sex.hu shop.hu suli.hu szex.hu tozsde.hu utazas.hu video.hu id ac.id biz.id co.id desa.id go.id mil.id my.id net.id or.id sch.id web.id ie gov.ie il ac.il co.il gov.il idf.il k12.il muni.il net.il org.il im ac.im co.im com.im ltd.co.im net.im org.im plc.co.im tt.im tv.im in co.in firm.in net.in org.in gen.in ind.in nic.in ac.in edu.in res.in gov.in mil.in info int eu.int io com.io iq gov.iq edu.iq mil.iq com.iq org.iq net.iq ir ac.ir co.ir gov.ir id.ir net.ir org.ir sch.ir ایران.ir ايران.ir is net.is com.is edu.is gov.is org.is int.is it gov.it edu.it abr.it abruzzo.it aosta-valley.it aostavalley.it bas.it basilicata.it cal.it calabria.it cam.it campania.it emilia-romagna.it emiliaromagna.it emr.it friuli-v-giulia.it friuli-ve-giulia.it friuli-vegiulia.it friuli-venezia-giulia.it friuli-veneziagiulia.it friuli-vgiulia.it friuliv-giulia.it friulive-giulia.it friulivegiulia.it friulivenezia-giulia.it friuliveneziagiulia.it friulivgiulia.it fvg.it laz.it lazio.it lig.it liguria.it lom.it lombardia.it lombardy.it lucania.it mar.it marche.it mol.it molise.it piedmont.it piemonte.it pmn.it pug.it puglia.it sar.it sardegna.it sardinia.it sic.it sicilia.it sicily.it taa.it tos.it toscana.it trentino-a-adige.it trentino-aadige.it trentino-alto-adige.it trentino-altoadige.it trentino-s-tirol.it trentino-stirol.it trentino-sud-tirol.it trentino-sudtirol.it trentino-sued-tirol.it trentino-suedtirol.it trentinoa-adige.it trentinoaadige.it trentinoalto-adige.it trentinoaltoadige.it trentinos-tirol.it trentinostirol.it trentinosud-tirol.it trentinosudtirol.it trentinosued-tirol.it trentinosuedtirol.it tuscany.it umb.it umbria.it val-d-aosta.it val-daosta.it vald-aosta.it valdaosta.it valle-aosta.it valle-d-aosta.it valle-daosta.it valleaosta.it valled-aosta.it valledaosta.it vallee-aoste.it valleeaoste.it vao.it vda.it ven.it veneto.it ag.it agrigento.it al.it alessandria.it alto-adige.it altoadige.it an.it ancona.it andria-barletta-trani.it andria-trani-barletta.it andriabarlettatrani.it andriatranibarletta.it ao.it aosta.it aoste.it ap.it aq.it aquila.it ar.it arezzo.it ascoli-piceno.it ascolipiceno.it asti.it at.it av.it avellino.it ba.it balsan.it bari.it barletta-trani-andria.it barlettatraniandria.it belluno.it benevento.it bergamo.it bg.it bi.it biella.it bl.it bn.it bo.it bologna.it bolzano.it bozen.it br.it brescia.it brindisi.it bs.it bt.it bz.it ca.it cagliari.it caltanissetta.it campidano-medio.it campidanomedio.it campobasso.it carbonia-iglesias.it carboniaiglesias.it carrara-massa.it carraramassa.it caserta.it catania.it catanzaro.it cb.it ce.it cesena-forli.it cesenaforli.it ch.it chieti.it ci.it cl.it cn.it co.it como.it cosenza.it cr.it cremona.it crotone.it cs.it ct.it cuneo.it cz.it dell-ogliastra.it dellogliastra.it en.it enna.it fc.it fe.it fermo.it ferrara.it fg.it fi.it firenze.it florence.it fm.it foggia.it forli-cesena.it forlicesena.it fr.it frosinone.it ge.it genoa.it genova.it go.it gorizia.it gr.it grosseto.it iglesias-carbonia.it iglesiascarbonia.it im.it imperia.it is.it isernia.it kr.it la-spezia.it laquila.it laspezia.it latina.it lc.it le.it lecce.it lecco.it li.it livorno.it lo.it lodi.it lt.it lu.it lucca.it macerata.it mantova.it massa-carrara.it massacarrara.it matera.it mb.it mc.it me.it medio-campidano.it mediocampidano.it messina.it mi.it milan.it milano.it mn.it mo.it modena.it monza-brianza.it monza-e-della-brianza.it monza.it monzabrianza.it monzaebrianza.it monzaedellabrianza.it ms.it mt.it na.it naples.it napoli.it no.it novara.it nu.it nuoro.it og.it ogliastra.it olbia-tempio.it olbiatempio.it or.it oristano.it ot.it pa.it padova.it padua.it palermo.it parma.it pavia.it pc.it pd.it pe.it perugia.it pesaro-urbino.it pesarourbino.it pescara.it pg.it pi.it piacenza.it pisa.it pistoia.it pn.it po.it pordenone.it potenza.it pr.it prato.it pt.it pu.it pv.it pz.it ra.it ragusa.it ravenna.it rc.it re.it reggio-calabria.it reggio-emilia.it reggiocalabria.it reggioemilia.it rg.it ri.it rieti.it rimini.it rm.it rn.it ro.it roma.it rome.it rovigo.it sa.it salerno.it sassari.it savona.it si.it siena.it siracusa.it so.it sondrio.it sp.it sr.it ss.it suedtirol.it sv.it ta.it taranto.it te.it tempio-olbia.it tempioolbia.it teramo.it terni.it tn.it to.it torino.it tp.it tr.it trani-andria-barletta.it trani-barletta-andria.it traniandriabarletta.it tranibarlettaandria.it trapani.it trentino.it trento.it treviso.it trieste.it ts.it turin.it tv.it ud.it udine.it urbino-pesaro.it urbinopesaro.it va.it varese.it vb.it vc.it ve.it venezia.it venice.it verbania.it vercelli.it verona.it vi.it vibo-valentia.it vibovalentia.it vicenza.it viterbo.it vr.it vs.it vt.it vv.it je co.je net.je org.je *.jm jo com.jo org.jo net.jo edu.jo sch.jo gov.jo mil.jo name.jo jobs jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp aichi.jp akita.jp aomori.jp chiba.jp ehime.jp fukui.jp fukuoka.jp fukushima.jp gifu.jp gunma.jp hiroshima.jp hokkaido.jp hyogo.jp ibaraki.jp ishikawa.jp iwate.jp kagawa.jp kagoshima.jp kanagawa.jp kochi.jp kumamoto.jp kyoto.jp mie.jp miyagi.jp miyazaki.jp nagano.jp nagasaki.jp nara.jp niigata.jp oita.jp okayama.jp okinawa.jp osaka.jp saga.jp saitama.jp shiga.jp shimane.jp shizuoka.jp tochigi.jp tokushima.jp tokyo.jp tottori.jp toyama.jp wakayama.jp yamagata.jp yamaguchi.jp yamanashi.jp 栃木.jp 愛知.jp 愛媛.jp 兵庫.jp 熊本.jp 茨城.jp 北海道.jp 千葉.jp 和歌山.jp 長崎.jp 長野.jp 新潟.jp 青森.jp 静岡.jp 東京.jp 石川.jp 埼玉.jp 三重.jp 京都.jp 佐賀.jp 大分.jp 大阪.jp 奈良.jp 宮城.jp 宮崎.jp 富山.jp 山口.jp 山形.jp 山梨.jp 岩手.jp 岐阜.jp 岡山.jp 島根.jp 広島.jp 徳島.jp 沖縄.jp 滋賀.jp 神奈川.jp 福井.jp 福岡.jp 福島.jp 秋田.jp 群馬.jp 香川.jp 高知.jp 鳥取.jp 鹿児島.jp *.kawasaki.jp *.kitakyushu.jp *.kobe.jp *.nagoya.jp *.sapporo.jp *.sendai.jp *.yokohama.jp !city.kawasaki.jp !city.kitakyushu.jp !city.kobe.jp !city.nagoya.jp !city.sapporo.jp !city.sendai.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp anjo.aichi.jp asuke.aichi.jp chiryu.aichi.jp chita.aichi.jp fuso.aichi.jp gamagori.aichi.jp handa.aichi.jp hazu.aichi.jp hekinan.aichi.jp higashiura.aichi.jp ichinomiya.aichi.jp inazawa.aichi.jp inuyama.aichi.jp isshiki.aichi.jp iwakura.aichi.jp kanie.aichi.jp kariya.aichi.jp kasugai.aichi.jp kira.aichi.jp kiyosu.aichi.jp komaki.aichi.jp konan.aichi.jp kota.aichi.jp mihama.aichi.jp miyoshi.aichi.jp nishio.aichi.jp nisshin.aichi.jp obu.aichi.jp oguchi.aichi.jp oharu.aichi.jp okazaki.aichi.jp owariasahi.aichi.jp seto.aichi.jp shikatsu.aichi.jp shinshiro.aichi.jp shitara.aichi.jp tahara.aichi.jp takahama.aichi.jp tobishima.aichi.jp toei.aichi.jp togo.aichi.jp tokai.aichi.jp tokoname.aichi.jp toyoake.aichi.jp toyohashi.aichi.jp toyokawa.aichi.jp toyone.aichi.jp toyota.aichi.jp tsushima.aichi.jp yatomi.aichi.jp akita.akita.jp daisen.akita.jp fujisato.akita.jp gojome.akita.jp hachirogata.akita.jp happou.akita.jp higashinaruse.akita.jp honjo.akita.jp honjyo.akita.jp ikawa.akita.jp kamikoani.akita.jp kamioka.akita.jp katagami.akita.jp kazuno.akita.jp kitaakita.akita.jp kosaka.akita.jp kyowa.akita.jp misato.akita.jp mitane.akita.jp moriyoshi.akita.jp nikaho.akita.jp noshiro.akita.jp odate.akita.jp oga.akita.jp ogata.akita.jp semboku.akita.jp yokote.akita.jp yurihonjo.akita.jp aomori.aomori.jp gonohe.aomori.jp hachinohe.aomori.jp hashikami.aomori.jp hiranai.aomori.jp hirosaki.aomori.jp itayanagi.aomori.jp kuroishi.aomori.jp misawa.aomori.jp mutsu.aomori.jp nakadomari.aomori.jp noheji.aomori.jp oirase.aomori.jp owani.aomori.jp rokunohe.aomori.jp sannohe.aomori.jp shichinohe.aomori.jp shingo.aomori.jp takko.aomori.jp towada.aomori.jp tsugaru.aomori.jp tsuruta.aomori.jp abiko.chiba.jp asahi.chiba.jp chonan.chiba.jp chosei.chiba.jp choshi.chiba.jp chuo.chiba.jp funabashi.chiba.jp futtsu.chiba.jp hanamigawa.chiba.jp ichihara.chiba.jp ichikawa.chiba.jp ichinomiya.chiba.jp inzai.chiba.jp isumi.chiba.jp kamagaya.chiba.jp kamogawa.chiba.jp kashiwa.chiba.jp katori.chiba.jp katsuura.chiba.jp kimitsu.chiba.jp kisarazu.chiba.jp kozaki.chiba.jp kujukuri.chiba.jp kyonan.chiba.jp matsudo.chiba.jp midori.chiba.jp mihama.chiba.jp minamiboso.chiba.jp mobara.chiba.jp mutsuzawa.chiba.jp nagara.chiba.jp nagareyama.chiba.jp narashino.chiba.jp narita.chiba.jp noda.chiba.jp oamishirasato.chiba.jp omigawa.chiba.jp onjuku.chiba.jp otaki.chiba.jp sakae.chiba.jp sakura.chiba.jp shimofusa.chiba.jp shirako.chiba.jp shiroi.chiba.jp shisui.chiba.jp sodegaura.chiba.jp sosa.chiba.jp tako.chiba.jp tateyama.chiba.jp togane.chiba.jp tohnosho.chiba.jp tomisato.chiba.jp urayasu.chiba.jp yachimata.chiba.jp yachiyo.chiba.jp yokaichiba.chiba.jp yokoshibahikari.chiba.jp yotsukaido.chiba.jp ainan.ehime.jp honai.ehime.jp ikata.ehime.jp imabari.ehime.jp iyo.ehime.jp kamijima.ehime.jp kihoku.ehime.jp kumakogen.ehime.jp masaki.ehime.jp matsuno.ehime.jp matsuyama.ehime.jp namikata.ehime.jp niihama.ehime.jp ozu.ehime.jp saijo.ehime.jp seiyo.ehime.jp shikokuchuo.ehime.jp tobe.ehime.jp toon.ehime.jp uchiko.ehime.jp uwajima.ehime.jp yawatahama.ehime.jp echizen.fukui.jp eiheiji.fukui.jp fukui.fukui.jp ikeda.fukui.jp katsuyama.fukui.jp mihama.fukui.jp minamiechizen.fukui.jp obama.fukui.jp ohi.fukui.jp ono.fukui.jp sabae.fukui.jp sakai.fukui.jp takahama.fukui.jp tsuruga.fukui.jp wakasa.fukui.jp ashiya.fukuoka.jp buzen.fukuoka.jp chikugo.fukuoka.jp chikuho.fukuoka.jp chikujo.fukuoka.jp chikushino.fukuoka.jp chikuzen.fukuoka.jp chuo.fukuoka.jp dazaifu.fukuoka.jp fukuchi.fukuoka.jp hakata.fukuoka.jp higashi.fukuoka.jp hirokawa.fukuoka.jp hisayama.fukuoka.jp iizuka.fukuoka.jp inatsuki.fukuoka.jp kaho.fukuoka.jp kasuga.fukuoka.jp kasuya.fukuoka.jp kawara.fukuoka.jp keisen.fukuoka.jp koga.fukuoka.jp kurate.fukuoka.jp kurogi.fukuoka.jp kurume.fukuoka.jp minami.fukuoka.jp miyako.fukuoka.jp miyama.fukuoka.jp miyawaka.fukuoka.jp mizumaki.fukuoka.jp munakata.fukuoka.jp nakagawa.fukuoka.jp nakama.fukuoka.jp nishi.fukuoka.jp nogata.fukuoka.jp ogori.fukuoka.jp okagaki.fukuoka.jp okawa.fukuoka.jp oki.fukuoka.jp omuta.fukuoka.jp onga.fukuoka.jp onojo.fukuoka.jp oto.fukuoka.jp saigawa.fukuoka.jp sasaguri.fukuoka.jp shingu.fukuoka.jp shinyoshitomi.fukuoka.jp shonai.fukuoka.jp soeda.fukuoka.jp sue.fukuoka.jp tachiarai.fukuoka.jp tagawa.fukuoka.jp takata.fukuoka.jp toho.fukuoka.jp toyotsu.fukuoka.jp tsuiki.fukuoka.jp ukiha.fukuoka.jp umi.fukuoka.jp usui.fukuoka.jp yamada.fukuoka.jp yame.fukuoka.jp yanagawa.fukuoka.jp yukuhashi.fukuoka.jp aizubange.fukushima.jp aizumisato.fukushima.jp aizuwakamatsu.fukushima.jp asakawa.fukushima.jp bandai.fukushima.jp date.fukushima.jp fukushima.fukushima.jp furudono.fukushima.jp futaba.fukushima.jp hanawa.fukushima.jp higashi.fukushima.jp hirata.fukushima.jp hirono.fukushima.jp iitate.fukushima.jp inawashiro.fukushima.jp ishikawa.fukushima.jp iwaki.fukushima.jp izumizaki.fukushima.jp kagamiishi.fukushima.jp kaneyama.fukushima.jp kawamata.fukushima.jp kitakata.fukushima.jp kitashiobara.fukushima.jp koori.fukushima.jp koriyama.fukushima.jp kunimi.fukushima.jp miharu.fukushima.jp mishima.fukushima.jp namie.fukushima.jp nango.fukushima.jp nishiaizu.fukushima.jp nishigo.fukushima.jp okuma.fukushima.jp omotego.fukushima.jp ono.fukushima.jp otama.fukushima.jp samegawa.fukushima.jp shimogo.fukushima.jp shirakawa.fukushima.jp showa.fukushima.jp soma.fukushima.jp sukagawa.fukushima.jp taishin.fukushima.jp tamakawa.fukushima.jp tanagura.fukushima.jp tenei.fukushima.jp yabuki.fukushima.jp yamato.fukushima.jp yamatsuri.fukushima.jp yanaizu.fukushima.jp yugawa.fukushima.jp anpachi.gifu.jp ena.gifu.jp gifu.gifu.jp ginan.gifu.jp godo.gifu.jp gujo.gifu.jp hashima.gifu.jp hichiso.gifu.jp hida.gifu.jp higashishirakawa.gifu.jp ibigawa.gifu.jp ikeda.gifu.jp kakamigahara.gifu.jp kani.gifu.jp kasahara.gifu.jp kasamatsu.gifu.jp kawaue.gifu.jp kitagata.gifu.jp mino.gifu.jp minokamo.gifu.jp mitake.gifu.jp mizunami.gifu.jp motosu.gifu.jp nakatsugawa.gifu.jp ogaki.gifu.jp sakahogi.gifu.jp seki.gifu.jp sekigahara.gifu.jp shirakawa.gifu.jp tajimi.gifu.jp takayama.gifu.jp tarui.gifu.jp toki.gifu.jp tomika.gifu.jp wanouchi.gifu.jp yamagata.gifu.jp yaotsu.gifu.jp yoro.gifu.jp annaka.gunma.jp chiyoda.gunma.jp fujioka.gunma.jp higashiagatsuma.gunma.jp isesaki.gunma.jp itakura.gunma.jp kanna.gunma.jp kanra.gunma.jp katashina.gunma.jp kawaba.gunma.jp kiryu.gunma.jp kusatsu.gunma.jp maebashi.gunma.jp meiwa.gunma.jp midori.gunma.jp minakami.gunma.jp naganohara.gunma.jp nakanojo.gunma.jp nanmoku.gunma.jp numata.gunma.jp oizumi.gunma.jp ora.gunma.jp ota.gunma.jp shibukawa.gunma.jp shimonita.gunma.jp shinto.gunma.jp showa.gunma.jp takasaki.gunma.jp takayama.gunma.jp tamamura.gunma.jp tatebayashi.gunma.jp tomioka.gunma.jp tsukiyono.gunma.jp tsumagoi.gunma.jp ueno.gunma.jp yoshioka.gunma.jp asaminami.hiroshima.jp daiwa.hiroshima.jp etajima.hiroshima.jp fuchu.hiroshima.jp fukuyama.hiroshima.jp hatsukaichi.hiroshima.jp higashihiroshima.hiroshima.jp hongo.hiroshima.jp jinsekikogen.hiroshima.jp kaita.hiroshima.jp kui.hiroshima.jp kumano.hiroshima.jp kure.hiroshima.jp mihara.hiroshima.jp miyoshi.hiroshima.jp naka.hiroshima.jp onomichi.hiroshima.jp osakikamijima.hiroshima.jp otake.hiroshima.jp saka.hiroshima.jp sera.hiroshima.jp seranishi.hiroshima.jp shinichi.hiroshima.jp shobara.hiroshima.jp takehara.hiroshima.jp abashiri.hokkaido.jp abira.hokkaido.jp aibetsu.hokkaido.jp akabira.hokkaido.jp akkeshi.hokkaido.jp asahikawa.hokkaido.jp ashibetsu.hokkaido.jp ashoro.hokkaido.jp assabu.hokkaido.jp atsuma.hokkaido.jp bibai.hokkaido.jp biei.hokkaido.jp bifuka.hokkaido.jp bihoro.hokkaido.jp biratori.hokkaido.jp chippubetsu.hokkaido.jp chitose.hokkaido.jp date.hokkaido.jp ebetsu.hokkaido.jp embetsu.hokkaido.jp eniwa.hokkaido.jp erimo.hokkaido.jp esan.hokkaido.jp esashi.hokkaido.jp fukagawa.hokkaido.jp fukushima.hokkaido.jp furano.hokkaido.jp furubira.hokkaido.jp haboro.hokkaido.jp hakodate.hokkaido.jp hamatonbetsu.hokkaido.jp hidaka.hokkaido.jp higashikagura.hokkaido.jp higashikawa.hokkaido.jp hiroo.hokkaido.jp hokuryu.hokkaido.jp hokuto.hokkaido.jp honbetsu.hokkaido.jp horokanai.hokkaido.jp horonobe.hokkaido.jp ikeda.hokkaido.jp imakane.hokkaido.jp ishikari.hokkaido.jp iwamizawa.hokkaido.jp iwanai.hokkaido.jp kamifurano.hokkaido.jp kamikawa.hokkaido.jp kamishihoro.hokkaido.jp kamisunagawa.hokkaido.jp kamoenai.hokkaido.jp kayabe.hokkaido.jp kembuchi.hokkaido.jp kikonai.hokkaido.jp kimobetsu.hokkaido.jp kitahiroshima.hokkaido.jp kitami.hokkaido.jp kiyosato.hokkaido.jp koshimizu.hokkaido.jp kunneppu.hokkaido.jp kuriyama.hokkaido.jp kuromatsunai.hokkaido.jp kushiro.hokkaido.jp kutchan.hokkaido.jp kyowa.hokkaido.jp mashike.hokkaido.jp matsumae.hokkaido.jp mikasa.hokkaido.jp minamifurano.hokkaido.jp mombetsu.hokkaido.jp moseushi.hokkaido.jp mukawa.hokkaido.jp muroran.hokkaido.jp naie.hokkaido.jp nakagawa.hokkaido.jp nakasatsunai.hokkaido.jp nakatombetsu.hokkaido.jp nanae.hokkaido.jp nanporo.hokkaido.jp nayoro.hokkaido.jp nemuro.hokkaido.jp niikappu.hokkaido.jp niki.hokkaido.jp nishiokoppe.hokkaido.jp noboribetsu.hokkaido.jp numata.hokkaido.jp obihiro.hokkaido.jp obira.hokkaido.jp oketo.hokkaido.jp okoppe.hokkaido.jp otaru.hokkaido.jp otobe.hokkaido.jp otofuke.hokkaido.jp otoineppu.hokkaido.jp oumu.hokkaido.jp ozora.hokkaido.jp pippu.hokkaido.jp rankoshi.hokkaido.jp rebun.hokkaido.jp rikubetsu.hokkaido.jp rishiri.hokkaido.jp rishirifuji.hokkaido.jp saroma.hokkaido.jp sarufutsu.hokkaido.jp shakotan.hokkaido.jp shari.hokkaido.jp shibecha.hokkaido.jp shibetsu.hokkaido.jp shikabe.hokkaido.jp shikaoi.hokkaido.jp shimamaki.hokkaido.jp shimizu.hokkaido.jp shimokawa.hokkaido.jp shinshinotsu.hokkaido.jp shintoku.hokkaido.jp shiranuka.hokkaido.jp shiraoi.hokkaido.jp shiriuchi.hokkaido.jp sobetsu.hokkaido.jp sunagawa.hokkaido.jp taiki.hokkaido.jp takasu.hokkaido.jp takikawa.hokkaido.jp takinoue.hokkaido.jp teshikaga.hokkaido.jp tobetsu.hokkaido.jp tohma.hokkaido.jp tomakomai.hokkaido.jp tomari.hokkaido.jp toya.hokkaido.jp toyako.hokkaido.jp toyotomi.hokkaido.jp toyoura.hokkaido.jp tsubetsu.hokkaido.jp tsukigata.hokkaido.jp urakawa.hokkaido.jp urausu.hokkaido.jp uryu.hokkaido.jp utashinai.hokkaido.jp wakkanai.hokkaido.jp wassamu.hokkaido.jp yakumo.hokkaido.jp yoichi.hokkaido.jp aioi.hyogo.jp akashi.hyogo.jp ako.hyogo.jp amagasaki.hyogo.jp aogaki.hyogo.jp asago.hyogo.jp ashiya.hyogo.jp awaji.hyogo.jp fukusaki.hyogo.jp goshiki.hyogo.jp harima.hyogo.jp himeji.hyogo.jp ichikawa.hyogo.jp inagawa.hyogo.jp itami.hyogo.jp kakogawa.hyogo.jp kamigori.hyogo.jp kamikawa.hyogo.jp kasai.hyogo.jp kasuga.hyogo.jp kawanishi.hyogo.jp miki.hyogo.jp minamiawaji.hyogo.jp nishinomiya.hyogo.jp nishiwaki.hyogo.jp ono.hyogo.jp sanda.hyogo.jp sannan.hyogo.jp sasayama.hyogo.jp sayo.hyogo.jp shingu.hyogo.jp shinonsen.hyogo.jp shiso.hyogo.jp sumoto.hyogo.jp taishi.hyogo.jp taka.hyogo.jp takarazuka.hyogo.jp takasago.hyogo.jp takino.hyogo.jp tamba.hyogo.jp tatsuno.hyogo.jp toyooka.hyogo.jp yabu.hyogo.jp yashiro.hyogo.jp yoka.hyogo.jp yokawa.hyogo.jp ami.ibaraki.jp asahi.ibaraki.jp bando.ibaraki.jp chikusei.ibaraki.jp daigo.ibaraki.jp fujishiro.ibaraki.jp hitachi.ibaraki.jp hitachinaka.ibaraki.jp hitachiomiya.ibaraki.jp hitachiota.ibaraki.jp ibaraki.ibaraki.jp ina.ibaraki.jp inashiki.ibaraki.jp itako.ibaraki.jp iwama.ibaraki.jp joso.ibaraki.jp kamisu.ibaraki.jp kasama.ibaraki.jp kashima.ibaraki.jp kasumigaura.ibaraki.jp koga.ibaraki.jp miho.ibaraki.jp mito.ibaraki.jp moriya.ibaraki.jp naka.ibaraki.jp namegata.ibaraki.jp oarai.ibaraki.jp ogawa.ibaraki.jp omitama.ibaraki.jp ryugasaki.ibaraki.jp sakai.ibaraki.jp sakuragawa.ibaraki.jp shimodate.ibaraki.jp shimotsuma.ibaraki.jp shirosato.ibaraki.jp sowa.ibaraki.jp suifu.ibaraki.jp takahagi.ibaraki.jp tamatsukuri.ibaraki.jp tokai.ibaraki.jp tomobe.ibaraki.jp tone.ibaraki.jp toride.ibaraki.jp tsuchiura.ibaraki.jp tsukuba.ibaraki.jp uchihara.ibaraki.jp ushiku.ibaraki.jp yachiyo.ibaraki.jp yamagata.ibaraki.jp yawara.ibaraki.jp yuki.ibaraki.jp anamizu.ishikawa.jp hakui.ishikawa.jp hakusan.ishikawa.jp kaga.ishikawa.jp kahoku.ishikawa.jp kanazawa.ishikawa.jp kawakita.ishikawa.jp komatsu.ishikawa.jp nakanoto.ishikawa.jp nanao.ishikawa.jp nomi.ishikawa.jp nonoichi.ishikawa.jp noto.ishikawa.jp shika.ishikawa.jp suzu.ishikawa.jp tsubata.ishikawa.jp tsurugi.ishikawa.jp uchinada.ishikawa.jp wajima.ishikawa.jp fudai.iwate.jp fujisawa.iwate.jp hanamaki.iwate.jp hiraizumi.iwate.jp hirono.iwate.jp ichinohe.iwate.jp ichinoseki.iwate.jp iwaizumi.iwate.jp iwate.iwate.jp joboji.iwate.jp kamaishi.iwate.jp kanegasaki.iwate.jp karumai.iwate.jp kawai.iwate.jp kitakami.iwate.jp kuji.iwate.jp kunohe.iwate.jp kuzumaki.iwate.jp miyako.iwate.jp mizusawa.iwate.jp morioka.iwate.jp ninohe.iwate.jp noda.iwate.jp ofunato.iwate.jp oshu.iwate.jp otsuchi.iwate.jp rikuzentakata.iwate.jp shiwa.iwate.jp shizukuishi.iwate.jp sumita.iwate.jp tanohata.iwate.jp tono.iwate.jp yahaba.iwate.jp yamada.iwate.jp ayagawa.kagawa.jp higashikagawa.kagawa.jp kanonji.kagawa.jp kotohira.kagawa.jp manno.kagawa.jp marugame.kagawa.jp mitoyo.kagawa.jp naoshima.kagawa.jp sanuki.kagawa.jp tadotsu.kagawa.jp takamatsu.kagawa.jp tonosho.kagawa.jp uchinomi.kagawa.jp utazu.kagawa.jp zentsuji.kagawa.jp akune.kagoshima.jp amami.kagoshima.jp hioki.kagoshima.jp isa.kagoshima.jp isen.kagoshima.jp izumi.kagoshima.jp kagoshima.kagoshima.jp kanoya.kagoshima.jp kawanabe.kagoshima.jp kinko.kagoshima.jp kouyama.kagoshima.jp makurazaki.kagoshima.jp matsumoto.kagoshima.jp minamitane.kagoshima.jp nakatane.kagoshima.jp nishinoomote.kagoshima.jp satsumasendai.kagoshima.jp soo.kagoshima.jp tarumizu.kagoshima.jp yusui.kagoshima.jp aikawa.kanagawa.jp atsugi.kanagawa.jp ayase.kanagawa.jp chigasaki.kanagawa.jp ebina.kanagawa.jp fujisawa.kanagawa.jp hadano.kanagawa.jp hakone.kanagawa.jp hiratsuka.kanagawa.jp isehara.kanagawa.jp kaisei.kanagawa.jp kamakura.kanagawa.jp kiyokawa.kanagawa.jp matsuda.kanagawa.jp minamiashigara.kanagawa.jp miura.kanagawa.jp nakai.kanagawa.jp ninomiya.kanagawa.jp odawara.kanagawa.jp oi.kanagawa.jp oiso.kanagawa.jp sagamihara.kanagawa.jp samukawa.kanagawa.jp tsukui.kanagawa.jp yamakita.kanagawa.jp yamato.kanagawa.jp yokosuka.kanagawa.jp yugawara.kanagawa.jp zama.kanagawa.jp zushi.kanagawa.jp aki.kochi.jp geisei.kochi.jp hidaka.kochi.jp higashitsuno.kochi.jp ino.kochi.jp kagami.kochi.jp kami.kochi.jp kitagawa.kochi.jp kochi.kochi.jp mihara.kochi.jp motoyama.kochi.jp muroto.kochi.jp nahari.kochi.jp nakamura.kochi.jp nankoku.kochi.jp nishitosa.kochi.jp niyodogawa.kochi.jp ochi.kochi.jp okawa.kochi.jp otoyo.kochi.jp otsuki.kochi.jp sakawa.kochi.jp sukumo.kochi.jp susaki.kochi.jp tosa.kochi.jp tosashimizu.kochi.jp toyo.kochi.jp tsuno.kochi.jp umaji.kochi.jp yasuda.kochi.jp yusuhara.kochi.jp amakusa.kumamoto.jp arao.kumamoto.jp aso.kumamoto.jp choyo.kumamoto.jp gyokuto.kumamoto.jp kamiamakusa.kumamoto.jp kikuchi.kumamoto.jp kumamoto.kumamoto.jp mashiki.kumamoto.jp mifune.kumamoto.jp minamata.kumamoto.jp minamioguni.kumamoto.jp nagasu.kumamoto.jp nishihara.kumamoto.jp oguni.kumamoto.jp ozu.kumamoto.jp sumoto.kumamoto.jp takamori.kumamoto.jp uki.kumamoto.jp uto.kumamoto.jp yamaga.kumamoto.jp yamato.kumamoto.jp yatsushiro.kumamoto.jp ayabe.kyoto.jp fukuchiyama.kyoto.jp higashiyama.kyoto.jp ide.kyoto.jp ine.kyoto.jp joyo.kyoto.jp kameoka.kyoto.jp kamo.kyoto.jp kita.kyoto.jp kizu.kyoto.jp kumiyama.kyoto.jp kyotamba.kyoto.jp kyotanabe.kyoto.jp kyotango.kyoto.jp maizuru.kyoto.jp minami.kyoto.jp minamiyamashiro.kyoto.jp miyazu.kyoto.jp muko.kyoto.jp nagaokakyo.kyoto.jp nakagyo.kyoto.jp nantan.kyoto.jp oyamazaki.kyoto.jp sakyo.kyoto.jp seika.kyoto.jp tanabe.kyoto.jp uji.kyoto.jp ujitawara.kyoto.jp wazuka.kyoto.jp yamashina.kyoto.jp yawata.kyoto.jp asahi.mie.jp inabe.mie.jp ise.mie.jp kameyama.mie.jp kawagoe.mie.jp kiho.mie.jp kisosaki.mie.jp kiwa.mie.jp komono.mie.jp kumano.mie.jp kuwana.mie.jp matsusaka.mie.jp meiwa.mie.jp mihama.mie.jp minamiise.mie.jp misugi.mie.jp miyama.mie.jp nabari.mie.jp shima.mie.jp suzuka.mie.jp tado.mie.jp taiki.mie.jp taki.mie.jp tamaki.mie.jp toba.mie.jp tsu.mie.jp udono.mie.jp ureshino.mie.jp watarai.mie.jp yokkaichi.mie.jp furukawa.miyagi.jp higashimatsushima.miyagi.jp ishinomaki.miyagi.jp iwanuma.miyagi.jp kakuda.miyagi.jp kami.miyagi.jp kawasaki.miyagi.jp marumori.miyagi.jp matsushima.miyagi.jp minamisanriku.miyagi.jp misato.miyagi.jp murata.miyagi.jp natori.miyagi.jp ogawara.miyagi.jp ohira.miyagi.jp onagawa.miyagi.jp osaki.miyagi.jp rifu.miyagi.jp semine.miyagi.jp shibata.miyagi.jp shichikashuku.miyagi.jp shikama.miyagi.jp shiogama.miyagi.jp shiroishi.miyagi.jp tagajo.miyagi.jp taiwa.miyagi.jp tome.miyagi.jp tomiya.miyagi.jp wakuya.miyagi.jp watari.miyagi.jp yamamoto.miyagi.jp zao.miyagi.jp aya.miyazaki.jp ebino.miyazaki.jp gokase.miyazaki.jp hyuga.miyazaki.jp kadogawa.miyazaki.jp kawaminami.miyazaki.jp kijo.miyazaki.jp kitagawa.miyazaki.jp kitakata.miyazaki.jp kitaura.miyazaki.jp kobayashi.miyazaki.jp kunitomi.miyazaki.jp kushima.miyazaki.jp mimata.miyazaki.jp miyakonojo.miyazaki.jp miyazaki.miyazaki.jp morotsuka.miyazaki.jp nichinan.miyazaki.jp nishimera.miyazaki.jp nobeoka.miyazaki.jp saito.miyazaki.jp shiiba.miyazaki.jp shintomi.miyazaki.jp takaharu.miyazaki.jp takanabe.miyazaki.jp takazaki.miyazaki.jp tsuno.miyazaki.jp achi.nagano.jp agematsu.nagano.jp anan.nagano.jp aoki.nagano.jp asahi.nagano.jp azumino.nagano.jp chikuhoku.nagano.jp chikuma.nagano.jp chino.nagano.jp fujimi.nagano.jp hakuba.nagano.jp hara.nagano.jp hiraya.nagano.jp iida.nagano.jp iijima.nagano.jp iiyama.nagano.jp iizuna.nagano.jp ikeda.nagano.jp ikusaka.nagano.jp ina.nagano.jp karuizawa.nagano.jp kawakami.nagano.jp kiso.nagano.jp kisofukushima.nagano.jp kitaaiki.nagano.jp komagane.nagano.jp komoro.nagano.jp matsukawa.nagano.jp matsumoto.nagano.jp miasa.nagano.jp minamiaiki.nagano.jp minamimaki.nagano.jp minamiminowa.nagano.jp minowa.nagano.jp miyada.nagano.jp miyota.nagano.jp mochizuki.nagano.jp nagano.nagano.jp nagawa.nagano.jp nagiso.nagano.jp nakagawa.nagano.jp nakano.nagano.jp nozawaonsen.nagano.jp obuse.nagano.jp ogawa.nagano.jp okaya.nagano.jp omachi.nagano.jp omi.nagano.jp ookuwa.nagano.jp ooshika.nagano.jp otaki.nagano.jp otari.nagano.jp sakae.nagano.jp sakaki.nagano.jp saku.nagano.jp sakuho.nagano.jp shimosuwa.nagano.jp shinanomachi.nagano.jp shiojiri.nagano.jp suwa.nagano.jp suzaka.nagano.jp takagi.nagano.jp takamori.nagano.jp takayama.nagano.jp tateshina.nagano.jp tatsuno.nagano.jp togakushi.nagano.jp togura.nagano.jp tomi.nagano.jp ueda.nagano.jp wada.nagano.jp yamagata.nagano.jp yamanouchi.nagano.jp yasaka.nagano.jp yasuoka.nagano.jp chijiwa.nagasaki.jp futsu.nagasaki.jp goto.nagasaki.jp hasami.nagasaki.jp hirado.nagasaki.jp iki.nagasaki.jp isahaya.nagasaki.jp kawatana.nagasaki.jp kuchinotsu.nagasaki.jp matsuura.nagasaki.jp nagasaki.nagasaki.jp obama.nagasaki.jp omura.nagasaki.jp oseto.nagasaki.jp saikai.nagasaki.jp sasebo.nagasaki.jp seihi.nagasaki.jp shimabara.nagasaki.jp shinkamigoto.nagasaki.jp togitsu.nagasaki.jp tsushima.nagasaki.jp unzen.nagasaki.jp ando.nara.jp gose.nara.jp heguri.nara.jp higashiyoshino.nara.jp ikaruga.nara.jp ikoma.nara.jp kamikitayama.nara.jp kanmaki.nara.jp kashiba.nara.jp kashihara.nara.jp katsuragi.nara.jp kawai.nara.jp kawakami.nara.jp kawanishi.nara.jp koryo.nara.jp kurotaki.nara.jp mitsue.nara.jp miyake.nara.jp nara.nara.jp nosegawa.nara.jp oji.nara.jp ouda.nara.jp oyodo.nara.jp sakurai.nara.jp sango.nara.jp shimoichi.nara.jp shimokitayama.nara.jp shinjo.nara.jp soni.nara.jp takatori.nara.jp tawaramoto.nara.jp tenkawa.nara.jp tenri.nara.jp uda.nara.jp yamatokoriyama.nara.jp yamatotakada.nara.jp yamazoe.nara.jp yoshino.nara.jp aga.niigata.jp agano.niigata.jp gosen.niigata.jp itoigawa.niigata.jp izumozaki.niigata.jp joetsu.niigata.jp kamo.niigata.jp kariwa.niigata.jp kashiwazaki.niigata.jp minamiuonuma.niigata.jp mitsuke.niigata.jp muika.niigata.jp murakami.niigata.jp myoko.niigata.jp nagaoka.niigata.jp niigata.niigata.jp ojiya.niigata.jp omi.niigata.jp sado.niigata.jp sanjo.niigata.jp seiro.niigata.jp seirou.niigata.jp sekikawa.niigata.jp shibata.niigata.jp tagami.niigata.jp tainai.niigata.jp tochio.niigata.jp tokamachi.niigata.jp tsubame.niigata.jp tsunan.niigata.jp uonuma.niigata.jp yahiko.niigata.jp yoita.niigata.jp yuzawa.niigata.jp beppu.oita.jp bungoono.oita.jp bungotakada.oita.jp hasama.oita.jp hiji.oita.jp himeshima.oita.jp hita.oita.jp kamitsue.oita.jp kokonoe.oita.jp kuju.oita.jp kunisaki.oita.jp kusu.oita.jp oita.oita.jp saiki.oita.jp taketa.oita.jp tsukumi.oita.jp usa.oita.jp usuki.oita.jp yufu.oita.jp akaiwa.okayama.jp asakuchi.okayama.jp bizen.okayama.jp hayashima.okayama.jp ibara.okayama.jp kagamino.okayama.jp kasaoka.okayama.jp kibichuo.okayama.jp kumenan.okayama.jp kurashiki.okayama.jp maniwa.okayama.jp misaki.okayama.jp nagi.okayama.jp niimi.okayama.jp nishiawakura.okayama.jp okayama.okayama.jp satosho.okayama.jp setouchi.okayama.jp shinjo.okayama.jp shoo.okayama.jp soja.okayama.jp takahashi.okayama.jp tamano.okayama.jp tsuyama.okayama.jp wake.okayama.jp yakage.okayama.jp aguni.okinawa.jp ginowan.okinawa.jp ginoza.okinawa.jp gushikami.okinawa.jp haebaru.okinawa.jp higashi.okinawa.jp hirara.okinawa.jp iheya.okinawa.jp ishigaki.okinawa.jp ishikawa.okinawa.jp itoman.okinawa.jp izena.okinawa.jp kadena.okinawa.jp kin.okinawa.jp kitadaito.okinawa.jp kitanakagusuku.okinawa.jp kumejima.okinawa.jp kunigami.okinawa.jp minamidaito.okinawa.jp motobu.okinawa.jp nago.okinawa.jp naha.okinawa.jp nakagusuku.okinawa.jp nakijin.okinawa.jp nanjo.okinawa.jp nishihara.okinawa.jp ogimi.okinawa.jp okinawa.okinawa.jp onna.okinawa.jp shimoji.okinawa.jp taketomi.okinawa.jp tarama.okinawa.jp tokashiki.okinawa.jp tomigusuku.okinawa.jp tonaki.okinawa.jp urasoe.okinawa.jp uruma.okinawa.jp yaese.okinawa.jp yomitan.okinawa.jp yonabaru.okinawa.jp yonaguni.okinawa.jp zamami.okinawa.jp abeno.osaka.jp chihayaakasaka.osaka.jp chuo.osaka.jp daito.osaka.jp fujiidera.osaka.jp habikino.osaka.jp hannan.osaka.jp higashiosaka.osaka.jp higashisumiyoshi.osaka.jp higashiyodogawa.osaka.jp hirakata.osaka.jp ibaraki.osaka.jp ikeda.osaka.jp izumi.osaka.jp izumiotsu.osaka.jp izumisano.osaka.jp kadoma.osaka.jp kaizuka.osaka.jp kanan.osaka.jp kashiwara.osaka.jp katano.osaka.jp kawachinagano.osaka.jp kishiwada.osaka.jp kita.osaka.jp kumatori.osaka.jp matsubara.osaka.jp minato.osaka.jp minoh.osaka.jp misaki.osaka.jp moriguchi.osaka.jp neyagawa.osaka.jp nishi.osaka.jp nose.osaka.jp osakasayama.osaka.jp sakai.osaka.jp sayama.osaka.jp sennan.osaka.jp settsu.osaka.jp shijonawate.osaka.jp shimamoto.osaka.jp suita.osaka.jp tadaoka.osaka.jp taishi.osaka.jp tajiri.osaka.jp takaishi.osaka.jp takatsuki.osaka.jp tondabayashi.osaka.jp toyonaka.osaka.jp toyono.osaka.jp yao.osaka.jp ariake.saga.jp arita.saga.jp fukudomi.saga.jp genkai.saga.jp hamatama.saga.jp hizen.saga.jp imari.saga.jp kamimine.saga.jp kanzaki.saga.jp karatsu.saga.jp kashima.saga.jp kitagata.saga.jp kitahata.saga.jp kiyama.saga.jp kouhoku.saga.jp kyuragi.saga.jp nishiarita.saga.jp ogi.saga.jp omachi.saga.jp ouchi.saga.jp saga.saga.jp shiroishi.saga.jp taku.saga.jp tara.saga.jp tosu.saga.jp yoshinogari.saga.jp arakawa.saitama.jp asaka.saitama.jp chichibu.saitama.jp fujimi.saitama.jp fujimino.saitama.jp fukaya.saitama.jp hanno.saitama.jp hanyu.saitama.jp hasuda.saitama.jp hatogaya.saitama.jp hatoyama.saitama.jp hidaka.saitama.jp higashichichibu.saitama.jp higashimatsuyama.saitama.jp honjo.saitama.jp ina.saitama.jp iruma.saitama.jp iwatsuki.saitama.jp kamiizumi.saitama.jp kamikawa.saitama.jp kamisato.saitama.jp kasukabe.saitama.jp kawagoe.saitama.jp kawaguchi.saitama.jp kawajima.saitama.jp kazo.saitama.jp kitamoto.saitama.jp koshigaya.saitama.jp kounosu.saitama.jp kuki.saitama.jp kumagaya.saitama.jp matsubushi.saitama.jp minano.saitama.jp misato.saitama.jp miyashiro.saitama.jp miyoshi.saitama.jp moroyama.saitama.jp nagatoro.saitama.jp namegawa.saitama.jp niiza.saitama.jp ogano.saitama.jp ogawa.saitama.jp ogose.saitama.jp okegawa.saitama.jp omiya.saitama.jp otaki.saitama.jp ranzan.saitama.jp ryokami.saitama.jp saitama.saitama.jp sakado.saitama.jp satte.saitama.jp sayama.saitama.jp shiki.saitama.jp shiraoka.saitama.jp soka.saitama.jp sugito.saitama.jp toda.saitama.jp tokigawa.saitama.jp tokorozawa.saitama.jp tsurugashima.saitama.jp urawa.saitama.jp warabi.saitama.jp yashio.saitama.jp yokoze.saitama.jp yono.saitama.jp yorii.saitama.jp yoshida.saitama.jp yoshikawa.saitama.jp yoshimi.saitama.jp aisho.shiga.jp gamo.shiga.jp higashiomi.shiga.jp hikone.shiga.jp koka.shiga.jp konan.shiga.jp kosei.shiga.jp koto.shiga.jp kusatsu.shiga.jp maibara.shiga.jp moriyama.shiga.jp nagahama.shiga.jp nishiazai.shiga.jp notogawa.shiga.jp omihachiman.shiga.jp otsu.shiga.jp ritto.shiga.jp ryuoh.shiga.jp takashima.shiga.jp takatsuki.shiga.jp torahime.shiga.jp toyosato.shiga.jp yasu.shiga.jp akagi.shimane.jp ama.shimane.jp gotsu.shimane.jp hamada.shimane.jp higashiizumo.shimane.jp hikawa.shimane.jp hikimi.shimane.jp izumo.shimane.jp kakinoki.shimane.jp masuda.shimane.jp matsue.shimane.jp misato.shimane.jp nishinoshima.shimane.jp ohda.shimane.jp okinoshima.shimane.jp okuizumo.shimane.jp shimane.shimane.jp tamayu.shimane.jp tsuwano.shimane.jp unnan.shimane.jp yakumo.shimane.jp yasugi.shimane.jp yatsuka.shimane.jp arai.shizuoka.jp atami.shizuoka.jp fuji.shizuoka.jp fujieda.shizuoka.jp fujikawa.shizuoka.jp fujinomiya.shizuoka.jp fukuroi.shizuoka.jp gotemba.shizuoka.jp haibara.shizuoka.jp hamamatsu.shizuoka.jp higashiizu.shizuoka.jp ito.shizuoka.jp iwata.shizuoka.jp izu.shizuoka.jp izunokuni.shizuoka.jp kakegawa.shizuoka.jp kannami.shizuoka.jp kawanehon.shizuoka.jp kawazu.shizuoka.jp kikugawa.shizuoka.jp kosai.shizuoka.jp makinohara.shizuoka.jp matsuzaki.shizuoka.jp minamiizu.shizuoka.jp mishima.shizuoka.jp morimachi.shizuoka.jp nishiizu.shizuoka.jp numazu.shizuoka.jp omaezaki.shizuoka.jp shimada.shizuoka.jp shimizu.shizuoka.jp shimoda.shizuoka.jp shizuoka.shizuoka.jp susono.shizuoka.jp yaizu.shizuoka.jp yoshida.shizuoka.jp ashikaga.tochigi.jp bato.tochigi.jp haga.tochigi.jp ichikai.tochigi.jp iwafune.tochigi.jp kaminokawa.tochigi.jp kanuma.tochigi.jp karasuyama.tochigi.jp kuroiso.tochigi.jp mashiko.tochigi.jp mibu.tochigi.jp moka.tochigi.jp motegi.tochigi.jp nasu.tochigi.jp nasushiobara.tochigi.jp nikko.tochigi.jp nishikata.tochigi.jp nogi.tochigi.jp ohira.tochigi.jp ohtawara.tochigi.jp oyama.tochigi.jp sakura.tochigi.jp sano.tochigi.jp shimotsuke.tochigi.jp shioya.tochigi.jp takanezawa.tochigi.jp tochigi.tochigi.jp tsuga.tochigi.jp ujiie.tochigi.jp utsunomiya.tochigi.jp yaita.tochigi.jp aizumi.tokushima.jp anan.tokushima.jp ichiba.tokushima.jp itano.tokushima.jp kainan.tokushima.jp komatsushima.tokushima.jp matsushige.tokushima.jp mima.tokushima.jp minami.tokushima.jp miyoshi.tokushima.jp mugi.tokushima.jp nakagawa.tokushima.jp naruto.tokushima.jp sanagochi.tokushima.jp shishikui.tokushima.jp tokushima.tokushima.jp wajiki.tokushima.jp adachi.tokyo.jp akiruno.tokyo.jp akishima.tokyo.jp aogashima.tokyo.jp arakawa.tokyo.jp bunkyo.tokyo.jp chiyoda.tokyo.jp chofu.tokyo.jp chuo.tokyo.jp edogawa.tokyo.jp fuchu.tokyo.jp fussa.tokyo.jp hachijo.tokyo.jp hachioji.tokyo.jp hamura.tokyo.jp higashikurume.tokyo.jp higashimurayama.tokyo.jp higashiyamato.tokyo.jp hino.tokyo.jp hinode.tokyo.jp hinohara.tokyo.jp inagi.tokyo.jp itabashi.tokyo.jp katsushika.tokyo.jp kita.tokyo.jp kiyose.tokyo.jp kodaira.tokyo.jp koganei.tokyo.jp kokubunji.tokyo.jp komae.tokyo.jp koto.tokyo.jp kouzushima.tokyo.jp kunitachi.tokyo.jp machida.tokyo.jp meguro.tokyo.jp minato.tokyo.jp mitaka.tokyo.jp mizuho.tokyo.jp musashimurayama.tokyo.jp musashino.tokyo.jp nakano.tokyo.jp nerima.tokyo.jp ogasawara.tokyo.jp okutama.tokyo.jp ome.tokyo.jp oshima.tokyo.jp ota.tokyo.jp setagaya.tokyo.jp shibuya.tokyo.jp shinagawa.tokyo.jp shinjuku.tokyo.jp suginami.tokyo.jp sumida.tokyo.jp tachikawa.tokyo.jp taito.tokyo.jp tama.tokyo.jp toshima.tokyo.jp chizu.tottori.jp hino.tottori.jp kawahara.tottori.jp koge.tottori.jp kotoura.tottori.jp misasa.tottori.jp nanbu.tottori.jp nichinan.tottori.jp sakaiminato.tottori.jp tottori.tottori.jp wakasa.tottori.jp yazu.tottori.jp yonago.tottori.jp asahi.toyama.jp fuchu.toyama.jp fukumitsu.toyama.jp funahashi.toyama.jp himi.toyama.jp imizu.toyama.jp inami.toyama.jp johana.toyama.jp kamiichi.toyama.jp kurobe.toyama.jp nakaniikawa.toyama.jp namerikawa.toyama.jp nanto.toyama.jp nyuzen.toyama.jp oyabe.toyama.jp taira.toyama.jp takaoka.toyama.jp tateyama.toyama.jp toga.toyama.jp tonami.toyama.jp toyama.toyama.jp unazuki.toyama.jp uozu.toyama.jp yamada.toyama.jp arida.wakayama.jp aridagawa.wakayama.jp gobo.wakayama.jp hashimoto.wakayama.jp hidaka.wakayama.jp hirogawa.wakayama.jp inami.wakayama.jp iwade.wakayama.jp kainan.wakayama.jp kamitonda.wakayama.jp katsuragi.wakayama.jp kimino.wakayama.jp kinokawa.wakayama.jp kitayama.wakayama.jp koya.wakayama.jp koza.wakayama.jp kozagawa.wakayama.jp kudoyama.wakayama.jp kushimoto.wakayama.jp mihama.wakayama.jp misato.wakayama.jp nachikatsuura.wakayama.jp shingu.wakayama.jp shirahama.wakayama.jp taiji.wakayama.jp tanabe.wakayama.jp wakayama.wakayama.jp yuasa.wakayama.jp yura.wakayama.jp asahi.yamagata.jp funagata.yamagata.jp higashine.yamagata.jp iide.yamagata.jp kahoku.yamagata.jp kaminoyama.yamagata.jp kaneyama.yamagata.jp kawanishi.yamagata.jp mamurogawa.yamagata.jp mikawa.yamagata.jp murayama.yamagata.jp nagai.yamagata.jp nakayama.yamagata.jp nanyo.yamagata.jp nishikawa.yamagata.jp obanazawa.yamagata.jp oe.yamagata.jp oguni.yamagata.jp ohkura.yamagata.jp oishida.yamagata.jp sagae.yamagata.jp sakata.yamagata.jp sakegawa.yamagata.jp shinjo.yamagata.jp shirataka.yamagata.jp shonai.yamagata.jp takahata.yamagata.jp tendo.yamagata.jp tozawa.yamagata.jp tsuruoka.yamagata.jp yamagata.yamagata.jp yamanobe.yamagata.jp yonezawa.yamagata.jp yuza.yamagata.jp abu.yamaguchi.jp hagi.yamaguchi.jp hikari.yamaguchi.jp hofu.yamaguchi.jp iwakuni.yamaguchi.jp kudamatsu.yamaguchi.jp mitou.yamaguchi.jp nagato.yamaguchi.jp oshima.yamaguchi.jp shimonoseki.yamaguchi.jp shunan.yamaguchi.jp tabuse.yamaguchi.jp tokuyama.yamaguchi.jp toyota.yamaguchi.jp ube.yamaguchi.jp yuu.yamaguchi.jp chuo.yamanashi.jp doshi.yamanashi.jp fuefuki.yamanashi.jp fujikawa.yamanashi.jp fujikawaguchiko.yamanashi.jp fujiyoshida.yamanashi.jp hayakawa.yamanashi.jp hokuto.yamanashi.jp ichikawamisato.yamanashi.jp kai.yamanashi.jp kofu.yamanashi.jp koshu.yamanashi.jp kosuge.yamanashi.jp minami-alps.yamanashi.jp minobu.yamanashi.jp nakamichi.yamanashi.jp nanbu.yamanashi.jp narusawa.yamanashi.jp nirasaki.yamanashi.jp nishikatsura.yamanashi.jp oshino.yamanashi.jp otsuki.yamanashi.jp showa.yamanashi.jp tabayama.yamanashi.jp tsuru.yamanashi.jp uenohara.yamanashi.jp yamanakako.yamanashi.jp yamanashi.yamanashi.jp *.ke kg org.kg net.kg com.kg edu.kg gov.kg mil.kg *.kh ki edu.ki biz.ki net.ki org.ki gov.ki info.ki com.ki km org.km nom.km gov.km prd.km tm.km edu.km mil.km ass.km com.km coop.km asso.km presse.km medecin.km notaires.km pharmaciens.km veterinaire.km gouv.km kn net.kn org.kn edu.kn gov.kn kp com.kp edu.kp gov.kp org.kp rep.kp tra.kp kr ac.kr co.kr es.kr go.kr hs.kr kg.kr mil.kr ms.kr ne.kr or.kr pe.kr re.kr sc.kr busan.kr chungbuk.kr chungnam.kr daegu.kr daejeon.kr gangwon.kr gwangju.kr gyeongbuk.kr gyeonggi.kr gyeongnam.kr incheon.kr jeju.kr jeonbuk.kr jeonnam.kr seoul.kr ulsan.kr *.kw ky edu.ky gov.ky com.ky org.ky net.ky kz org.kz edu.kz net.kz gov.kz mil.kz com.kz la int.la net.la info.la edu.la gov.la per.la com.la org.la lb com.lb edu.lb gov.lb net.lb org.lb lc com.lc net.lc co.lc org.lc edu.lc gov.lc li lk gov.lk sch.lk net.lk int.lk com.lk org.lk edu.lk ngo.lk soc.lk web.lk ltd.lk assn.lk grp.lk hotel.lk ac.lk lr com.lr edu.lr gov.lr org.lr net.lr ls co.ls org.ls lt gov.lt lu lv com.lv edu.lv gov.lv org.lv mil.lv id.lv net.lv asn.lv conf.lv ly com.ly net.ly gov.ly plc.ly edu.ly sch.ly med.ly org.ly id.ly ma co.ma net.ma gov.ma org.ma ac.ma press.ma mc tm.mc asso.mc md me co.me net.me org.me edu.me ac.me gov.me its.me priv.me mg org.mg nom.mg gov.mg prd.mg tm.mg edu.mg mil.mg com.mg co.mg mh mil mk com.mk org.mk net.mk edu.mk gov.mk inf.mk name.mk ml com.ml edu.ml gouv.ml gov.ml net.ml org.ml presse.ml *.mm mn gov.mn edu.mn org.mn mo com.mo net.mo org.mo edu.mo gov.mo mobi mp mq mr gov.mr ms com.ms edu.ms gov.ms net.ms org.ms mt com.mt edu.mt net.mt org.mt mu com.mu net.mu org.mu gov.mu ac.mu co.mu or.mu museum academy.museum agriculture.museum air.museum airguard.museum alabama.museum alaska.museum amber.museum ambulance.museum american.museum americana.museum americanantiques.museum americanart.museum amsterdam.museum and.museum annefrank.museum anthro.museum anthropology.museum antiques.museum aquarium.museum arboretum.museum archaeological.museum archaeology.museum architecture.museum art.museum artanddesign.museum artcenter.museum artdeco.museum arteducation.museum artgallery.museum arts.museum artsandcrafts.museum asmatart.museum assassination.museum assisi.museum association.museum astronomy.museum atlanta.museum austin.museum australia.museum automotive.museum aviation.museum axis.museum badajoz.museum baghdad.museum bahn.museum bale.museum baltimore.museum barcelona.museum baseball.museum basel.museum baths.museum bauern.museum beauxarts.museum beeldengeluid.museum bellevue.museum bergbau.museum berkeley.museum berlin.museum bern.museum bible.museum bilbao.museum bill.museum birdart.museum birthplace.museum bonn.museum boston.museum botanical.museum botanicalgarden.museum botanicgarden.museum botany.museum brandywinevalley.museum brasil.museum bristol.museum british.museum britishcolumbia.museum broadcast.museum brunel.museum brussel.museum brussels.museum bruxelles.museum building.museum burghof.museum bus.museum bushey.museum cadaques.museum california.museum cambridge.museum can.museum canada.museum capebreton.museum carrier.museum cartoonart.museum casadelamoneda.museum castle.museum castres.museum celtic.museum center.museum chattanooga.museum cheltenham.museum chesapeakebay.museum chicago.museum children.museum childrens.museum childrensgarden.museum chiropractic.museum chocolate.museum christiansburg.museum cincinnati.museum cinema.museum circus.museum civilisation.museum civilization.museum civilwar.museum clinton.museum clock.museum coal.museum coastaldefence.museum cody.museum coldwar.museum collection.museum colonialwilliamsburg.museum coloradoplateau.museum columbia.museum columbus.museum communication.museum communications.museum community.museum computer.museum computerhistory.museum comunicações.museum contemporary.museum contemporaryart.museum convent.museum copenhagen.museum corporation.museum correios-e-telecomunicações.museum corvette.museum costume.museum countryestate.museum county.museum crafts.museum cranbrook.museum creation.museum cultural.museum culturalcenter.museum culture.museum cyber.museum cymru.museum dali.museum dallas.museum database.museum ddr.museum decorativearts.museum delaware.museum delmenhorst.museum denmark.museum depot.museum design.museum detroit.museum dinosaur.museum discovery.museum dolls.museum donostia.museum durham.museum eastafrica.museum eastcoast.museum education.museum educational.museum egyptian.museum eisenbahn.museum elburg.museum elvendrell.museum embroidery.museum encyclopedic.museum england.museum entomology.museum environment.museum environmentalconservation.museum epilepsy.museum essex.museum estate.museum ethnology.museum exeter.museum exhibition.museum family.museum farm.museum farmequipment.museum farmers.museum farmstead.museum field.museum figueres.museum filatelia.museum film.museum fineart.museum finearts.museum finland.museum flanders.museum florida.museum force.museum fortmissoula.museum fortworth.museum foundation.museum francaise.museum frankfurt.museum franziskaner.museum freemasonry.museum freiburg.museum fribourg.museum frog.museum fundacio.museum furniture.museum gallery.museum garden.museum gateway.museum geelvinck.museum gemological.museum geology.museum georgia.museum giessen.museum glas.museum glass.museum gorge.museum grandrapids.museum graz.museum guernsey.museum halloffame.museum hamburg.museum handson.museum harvestcelebration.museum hawaii.museum health.museum heimatunduhren.museum hellas.museum helsinki.museum hembygdsforbund.museum heritage.museum histoire.museum historical.museum historicalsociety.museum historichouses.museum historisch.museum historisches.museum history.museum historyofscience.museum horology.museum house.museum humanities.museum illustration.museum imageandsound.museum indian.museum indiana.museum indianapolis.museum indianmarket.museum intelligence.museum interactive.museum iraq.museum iron.museum isleofman.museum jamison.museum jefferson.museum jerusalem.museum jewelry.museum jewish.museum jewishart.museum jfk.museum journalism.museum judaica.museum judygarland.museum juedisches.museum juif.museum karate.museum karikatur.museum kids.museum koebenhavn.museum koeln.museum kunst.museum kunstsammlung.museum kunstunddesign.museum labor.museum labour.museum lajolla.museum lancashire.museum landes.museum lans.museum läns.museum larsson.museum lewismiller.museum lincoln.museum linz.museum living.museum livinghistory.museum localhistory.museum london.museum losangeles.museum louvre.museum loyalist.museum lucerne.museum luxembourg.museum luzern.museum mad.museum madrid.museum mallorca.museum manchester.museum mansion.museum mansions.museum manx.museum marburg.museum maritime.museum maritimo.museum maryland.museum marylhurst.museum media.museum medical.museum medizinhistorisches.museum meeres.museum memorial.museum mesaverde.museum michigan.museum midatlantic.museum military.museum mill.museum miners.museum mining.museum minnesota.museum missile.museum missoula.museum modern.museum moma.museum money.museum monmouth.museum monticello.museum montreal.museum moscow.museum motorcycle.museum muenchen.museum muenster.museum mulhouse.museum muncie.museum museet.museum museumcenter.museum museumvereniging.museum music.museum national.museum nationalfirearms.museum nationalheritage.museum nativeamerican.museum naturalhistory.museum naturalhistorymuseum.museum naturalsciences.museum nature.museum naturhistorisches.museum natuurwetenschappen.museum naumburg.museum naval.museum nebraska.museum neues.museum newhampshire.museum newjersey.museum newmexico.museum newport.museum newspaper.museum newyork.museum niepce.museum norfolk.museum north.museum nrw.museum nuernberg.museum nuremberg.museum nyc.museum nyny.museum oceanographic.museum oceanographique.museum omaha.museum online.museum ontario.museum openair.museum oregon.museum oregontrail.museum otago.museum oxford.museum pacific.museum paderborn.museum palace.museum paleo.museum palmsprings.museum panama.museum paris.museum pasadena.museum pharmacy.museum philadelphia.museum philadelphiaarea.museum philately.museum phoenix.museum photography.museum pilots.museum pittsburgh.museum planetarium.museum plantation.museum plants.museum plaza.museum portal.museum portland.museum portlligat.museum posts-and-telecommunications.museum preservation.museum presidio.museum press.museum project.museum public.museum pubol.museum quebec.museum railroad.museum railway.museum research.museum resistance.museum riodejaneiro.museum rochester.museum rockart.museum roma.museum russia.museum saintlouis.museum salem.museum salvadordali.museum salzburg.museum sandiego.museum sanfrancisco.museum santabarbara.museum santacruz.museum santafe.museum saskatchewan.museum satx.museum savannahga.museum schlesisches.museum schoenbrunn.museum schokoladen.museum school.museum schweiz.museum science.museum scienceandhistory.museum scienceandindustry.museum sciencecenter.museum sciencecenters.museum science-fiction.museum sciencehistory.museum sciences.museum sciencesnaturelles.museum scotland.museum seaport.museum settlement.museum settlers.museum shell.museum sherbrooke.museum sibenik.museum silk.museum ski.museum skole.museum society.museum sologne.museum soundandvision.museum southcarolina.museum southwest.museum space.museum spy.museum square.museum stadt.museum stalbans.museum starnberg.museum state.museum stateofdelaware.museum station.museum steam.museum steiermark.museum stjohn.museum stockholm.museum stpetersburg.museum stuttgart.museum suisse.museum surgeonshall.museum surrey.museum svizzera.museum sweden.museum sydney.museum tank.museum tcm.museum technology.museum telekommunikation.museum television.museum texas.museum textile.museum theater.museum time.museum timekeeping.museum topology.museum torino.museum touch.museum town.museum transport.museum tree.museum trolley.museum trust.museum trustee.museum uhren.museum ulm.museum undersea.museum university.museum usa.museum usantiques.museum usarts.museum uscountryestate.museum usculture.museum usdecorativearts.museum usgarden.museum ushistory.museum ushuaia.museum uslivinghistory.museum utah.museum uvic.museum valley.museum vantaa.museum versailles.museum viking.museum village.museum virginia.museum virtual.museum virtuel.museum vlaanderen.museum volkenkunde.museum wales.museum wallonie.museum war.museum washingtondc.museum watchandclock.museum watch-and-clock.museum western.museum westfalen.museum whaling.museum wildlife.museum williamsburg.museum windmill.museum workshop.museum york.museum yorkshire.museum yosemite.museum youth.museum zoological.museum zoology.museum ירושלים.museum иком.museum mv aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv mw ac.mw biz.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw museum.mw net.mw org.mw mx com.mx org.mx gob.mx edu.mx net.mx my com.my net.my org.my gov.my edu.my mil.my name.my mz ac.mz adv.mz co.mz edu.mz gov.mz mil.mz net.mz org.mz na info.na pro.na name.na school.na or.na dr.na us.na mx.na ca.na in.na cc.na tv.na ws.na mobi.na co.na com.na org.na name nc asso.nc nom.nc ne net nf com.nf net.nf per.nf rec.nf web.nf arts.nf firm.nf info.nf other.nf store.nf ng com.ng edu.ng gov.ng i.ng mil.ng mobi.ng name.ng net.ng org.ng sch.ng ni ac.ni biz.ni co.ni com.ni edu.ni gob.ni in.ni info.ni int.ni mil.ni net.ni nom.ni org.ni web.ni nl bv.nl no fhs.no vgs.no fylkesbibl.no folkebibl.no museum.no idrett.no priv.no mil.no stat.no dep.no kommune.no herad.no aa.no ah.no bu.no fm.no hl.no hm.no jan-mayen.no mr.no nl.no nt.no of.no ol.no oslo.no rl.no sf.no st.no svalbard.no tm.no tr.no va.no vf.no gs.aa.no gs.ah.no gs.bu.no gs.fm.no gs.hl.no gs.hm.no gs.jan-mayen.no gs.mr.no gs.nl.no gs.nt.no gs.of.no gs.ol.no gs.oslo.no gs.rl.no gs.sf.no gs.st.no gs.svalbard.no gs.tm.no gs.tr.no gs.va.no gs.vf.no akrehamn.no åkrehamn.no algard.no ålgård.no arna.no brumunddal.no bryne.no bronnoysund.no brønnøysund.no drobak.no drøbak.no egersund.no fetsund.no floro.no florø.no fredrikstad.no hokksund.no honefoss.no hønefoss.no jessheim.no jorpeland.no jørpeland.no kirkenes.no kopervik.no krokstadelva.no langevag.no langevåg.no leirvik.no mjondalen.no mjøndalen.no mo-i-rana.no mosjoen.no mosjøen.no nesoddtangen.no orkanger.no osoyro.no osøyro.no raholt.no råholt.no sandnessjoen.no sandnessjøen.no skedsmokorset.no slattum.no spjelkavik.no stathelle.no stavern.no stjordalshalsen.no stjørdalshalsen.no tananger.no tranby.no vossevangen.no afjord.no åfjord.no agdenes.no al.no ål.no alesund.no ålesund.no alstahaug.no alta.no áltá.no alaheadju.no álaheadju.no alvdal.no amli.no åmli.no amot.no åmot.no andebu.no andoy.no andøy.no andasuolo.no ardal.no årdal.no aremark.no arendal.no ås.no aseral.no åseral.no asker.no askim.no askvoll.no askoy.no askøy.no asnes.no åsnes.no audnedaln.no aukra.no aure.no aurland.no aurskog-holand.no aurskog-høland.no austevoll.no austrheim.no averoy.no averøy.no balestrand.no ballangen.no balat.no bálát.no balsfjord.no bahccavuotna.no báhccavuotna.no bamble.no bardu.no beardu.no beiarn.no bajddar.no bájddar.no baidar.no báidár.no berg.no bergen.no berlevag.no berlevåg.no bearalvahki.no bearalváhki.no bindal.no birkenes.no bjarkoy.no bjarkøy.no bjerkreim.no bjugn.no bodo.no bodø.no badaddja.no bådåddjå.no budejju.no bokn.no bremanger.no bronnoy.no brønnøy.no bygland.no bykle.no barum.no bærum.no bo.telemark.no bø.telemark.no bo.nordland.no bø.nordland.no bievat.no bievát.no bomlo.no bømlo.no batsfjord.no båtsfjord.no bahcavuotna.no báhcavuotna.no dovre.no drammen.no drangedal.no dyroy.no dyrøy.no donna.no dønna.no eid.no eidfjord.no eidsberg.no eidskog.no eidsvoll.no eigersund.no elverum.no enebakk.no engerdal.no etne.no etnedal.no evenes.no evenassi.no evenášši.no evje-og-hornnes.no farsund.no fauske.no fuossko.no fuoisku.no fedje.no fet.no finnoy.no finnøy.no fitjar.no fjaler.no fjell.no flakstad.no flatanger.no flekkefjord.no flesberg.no flora.no fla.no flå.no folldal.no forsand.no fosnes.no frei.no frogn.no froland.no frosta.no frana.no fræna.no froya.no frøya.no fusa.no fyresdal.no forde.no førde.no gamvik.no gangaviika.no gáŋgaviika.no gaular.no gausdal.no gildeskal.no gildeskål.no giske.no gjemnes.no gjerdrum.no gjerstad.no gjesdal.no gjovik.no gjøvik.no gloppen.no gol.no gran.no grane.no granvin.no gratangen.no grimstad.no grong.no kraanghke.no kråanghke.no grue.no gulen.no hadsel.no halden.no halsa.no hamar.no hamaroy.no habmer.no hábmer.no hapmir.no hápmir.no hammerfest.no hammarfeasta.no hámmárfeasta.no haram.no hareid.no harstad.no hasvik.no aknoluokta.no ákŋoluokta.no hattfjelldal.no aarborte.no haugesund.no hemne.no hemnes.no hemsedal.no heroy.more-og-romsdal.no herøy.møre-og-romsdal.no heroy.nordland.no herøy.nordland.no hitra.no hjartdal.no hjelmeland.no hobol.no hobøl.no hof.no hol.no hole.no holmestrand.no holtalen.no holtålen.no hornindal.no horten.no hurdal.no hurum.no hvaler.no hyllestad.no hagebostad.no hægebostad.no hoyanger.no høyanger.no hoylandet.no høylandet.no ha.no hå.no ibestad.no inderoy.no inderøy.no iveland.no jevnaker.no jondal.no jolster.no jølster.no karasjok.no karasjohka.no kárášjohka.no karlsoy.no galsa.no gálsá.no karmoy.no karmøy.no kautokeino.no guovdageaidnu.no klepp.no klabu.no klæbu.no kongsberg.no kongsvinger.no kragero.no kragerø.no kristiansand.no kristiansund.no krodsherad.no krødsherad.no kvalsund.no rahkkeravju.no ráhkkerávju.no kvam.no kvinesdal.no kvinnherad.no kviteseid.no kvitsoy.no kvitsøy.no kvafjord.no kvæfjord.no giehtavuoatna.no kvanangen.no kvænangen.no navuotna.no návuotna.no kafjord.no kåfjord.no gaivuotna.no gáivuotna.no larvik.no lavangen.no lavagis.no loabat.no loabát.no lebesby.no davvesiida.no leikanger.no leirfjord.no leka.no leksvik.no lenvik.no leangaviika.no leaŋgaviika.no lesja.no levanger.no lier.no lierne.no lillehammer.no lillesand.no lindesnes.no lindas.no lindås.no lom.no loppa.no lahppi.no láhppi.no lund.no lunner.no luroy.no lurøy.no luster.no lyngdal.no lyngen.no ivgu.no lardal.no lerdal.no lærdal.no lodingen.no lødingen.no lorenskog.no lørenskog.no loten.no løten.no malvik.no masoy.no måsøy.no muosat.no muosát.no mandal.no marker.no marnardal.no masfjorden.no meland.no meldal.no melhus.no meloy.no meløy.no meraker.no meråker.no moareke.no moåreke.no midsund.no midtre-gauldal.no modalen.no modum.no molde.no moskenes.no moss.no mosvik.no malselv.no målselv.no malatvuopmi.no málatvuopmi.no namdalseid.no aejrie.no namsos.no namsskogan.no naamesjevuemie.no nååmesjevuemie.no laakesvuemie.no nannestad.no narvik.no narviika.no naustdal.no nedre-eiker.no nes.akershus.no nes.buskerud.no nesna.no nesodden.no nesseby.no unjarga.no unjárga.no nesset.no nissedal.no nittedal.no nord-aurdal.no nord-fron.no nord-odal.no norddal.no nordkapp.no davvenjarga.no davvenjárga.no nordre-land.no nordreisa.no raisa.no ráisa.no nore-og-uvdal.no notodden.no naroy.no nærøy.no notteroy.no nøtterøy.no odda.no oksnes.no øksnes.no oppdal.no oppegard.no oppegård.no orkdal.no orland.no ørland.no orskog.no ørskog.no orsta.no ørsta.no os.hedmark.no os.hordaland.no osen.no osteroy.no osterøy.no ostre-toten.no østre-toten.no overhalla.no ovre-eiker.no øvre-eiker.no oyer.no øyer.no oygarden.no øygarden.no oystre-slidre.no øystre-slidre.no porsanger.no porsangu.no porsáŋgu.no porsgrunn.no radoy.no radøy.no rakkestad.no rana.no ruovat.no randaberg.no rauma.no rendalen.no rennebu.no rennesoy.no rennesøy.no rindal.no ringebu.no ringerike.no ringsaker.no rissa.no risor.no risør.no roan.no rollag.no rygge.no ralingen.no rælingen.no rodoy.no rødøy.no romskog.no rømskog.no roros.no røros.no rost.no røst.no royken.no røyken.no royrvik.no røyrvik.no rade.no råde.no salangen.no siellak.no saltdal.no salat.no sálát.no sálat.no samnanger.no sande.more-og-romsdal.no sande.møre-og-romsdal.no sande.vestfold.no sandefjord.no sandnes.no sandoy.no sandøy.no sarpsborg.no sauda.no sauherad.no sel.no selbu.no selje.no seljord.no sigdal.no siljan.no sirdal.no skaun.no skedsmo.no ski.no skien.no skiptvet.no skjervoy.no skjervøy.no skierva.no skiervá.no skjak.no skjåk.no skodje.no skanland.no skånland.no skanit.no skánit.no smola.no smøla.no snillfjord.no snasa.no snåsa.no snoasa.no snaase.no snåase.no sogndal.no sokndal.no sola.no solund.no songdalen.no sortland.no spydeberg.no stange.no stavanger.no steigen.no steinkjer.no stjordal.no stjørdal.no stokke.no stor-elvdal.no stord.no stordal.no storfjord.no omasvuotna.no strand.no stranda.no stryn.no sula.no suldal.no sund.no sunndal.no surnadal.no sveio.no svelvik.no sykkylven.no sogne.no søgne.no somna.no sømna.no sondre-land.no søndre-land.no sor-aurdal.no sør-aurdal.no sor-fron.no sør-fron.no sor-odal.no sør-odal.no sor-varanger.no sør-varanger.no matta-varjjat.no mátta-várjjat.no sorfold.no sørfold.no sorreisa.no sørreisa.no sorum.no sørum.no tana.no deatnu.no time.no tingvoll.no tinn.no tjeldsund.no dielddanuorri.no tjome.no tjøme.no tokke.no tolga.no torsken.no tranoy.no tranøy.no tromso.no tromsø.no tromsa.no romsa.no trondheim.no troandin.no trysil.no trana.no træna.no trogstad.no trøgstad.no tvedestrand.no tydal.no tynset.no tysfjord.no divtasvuodna.no divttasvuotna.no tysnes.no tysvar.no tysvær.no tonsberg.no tønsberg.no ullensaker.no ullensvang.no ulvik.no utsira.no vadso.no vadsø.no cahcesuolo.no čáhcesuolo.no vaksdal.no valle.no vang.no vanylven.no vardo.no vardø.no varggat.no várggát.no vefsn.no vaapste.no vega.no vegarshei.no vegårshei.no vennesla.no verdal.no verran.no vestby.no vestnes.no vestre-slidre.no vestre-toten.no vestvagoy.no vestvågøy.no vevelstad.no vik.no vikna.no vindafjord.no volda.no voss.no varoy.no værøy.no vagan.no vågan.no voagat.no vagsoy.no vågsøy.no vaga.no vågå.no valer.ostfold.no våler.østfold.no valer.hedmark.no våler.hedmark.no *.np nr biz.nr info.nr gov.nr edu.nr org.nr net.nr com.nr nu nz ac.nz co.nz cri.nz geek.nz gen.nz govt.nz health.nz iwi.nz kiwi.nz maori.nz mil.nz māori.nz net.nz org.nz parliament.nz school.nz om co.om com.om edu.om gov.om med.om museum.om net.om org.om pro.om onion org pa ac.pa gob.pa com.pa org.pa sld.pa edu.pa net.pa ing.pa abo.pa med.pa nom.pa pe edu.pe gob.pe nom.pe mil.pe org.pe com.pe net.pe pf com.pf org.pf edu.pf *.pg ph com.ph net.ph org.ph gov.ph edu.ph ngo.ph mil.ph i.ph pk com.pk net.pk edu.pk org.pk fam.pk biz.pk web.pk gov.pk gob.pk gok.pk gon.pk gop.pk gos.pk info.pk pl com.pl net.pl org.pl aid.pl agro.pl atm.pl auto.pl biz.pl edu.pl gmina.pl gsm.pl info.pl mail.pl miasta.pl media.pl mil.pl nieruchomosci.pl nom.pl pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl gov.pl ap.gov.pl ic.gov.pl is.gov.pl us.gov.pl kmpsp.gov.pl kppsp.gov.pl kwpsp.gov.pl psp.gov.pl wskr.gov.pl kwp.gov.pl mw.gov.pl ug.gov.pl um.gov.pl umig.gov.pl ugim.gov.pl upow.gov.pl uw.gov.pl starostwo.gov.pl pa.gov.pl po.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl so.gov.pl sr.gov.pl wsa.gov.pl sko.gov.pl uzs.gov.pl wiih.gov.pl winb.gov.pl pinb.gov.pl wios.gov.pl witd.gov.pl wzmiuw.gov.pl piw.gov.pl wiw.gov.pl griw.gov.pl wif.gov.pl oum.gov.pl sdn.gov.pl zp.gov.pl uppo.gov.pl mup.gov.pl wuoz.gov.pl konsulat.gov.pl oirm.gov.pl augustow.pl babia-gora.pl bedzin.pl beskidy.pl bialowieza.pl bialystok.pl bielawa.pl bieszczady.pl boleslawiec.pl bydgoszcz.pl bytom.pl cieszyn.pl czeladz.pl czest.pl dlugoleka.pl elblag.pl elk.pl glogow.pl gniezno.pl gorlice.pl grajewo.pl ilawa.pl jaworzno.pl jelenia-gora.pl jgora.pl kalisz.pl kazimierz-dolny.pl karpacz.pl kartuzy.pl kaszuby.pl katowice.pl kepno.pl ketrzyn.pl klodzko.pl kobierzyce.pl kolobrzeg.pl konin.pl konskowola.pl kutno.pl lapy.pl lebork.pl legnica.pl lezajsk.pl limanowa.pl lomza.pl lowicz.pl lubin.pl lukow.pl malbork.pl malopolska.pl mazowsze.pl mazury.pl mielec.pl mielno.pl mragowo.pl naklo.pl nowaruda.pl nysa.pl olawa.pl olecko.pl olkusz.pl olsztyn.pl opoczno.pl opole.pl ostroda.pl ostroleka.pl ostrowiec.pl ostrowwlkp.pl pila.pl pisz.pl podhale.pl podlasie.pl polkowice.pl pomorze.pl pomorskie.pl prochowice.pl pruszkow.pl przeworsk.pl pulawy.pl radom.pl rawa-maz.pl rybnik.pl rzeszow.pl sanok.pl sejny.pl slask.pl slupsk.pl sosnowiec.pl stalowa-wola.pl skoczow.pl starachowice.pl stargard.pl suwalki.pl swidnica.pl swiebodzin.pl swinoujscie.pl szczecin.pl szczytno.pl tarnobrzeg.pl tgory.pl turek.pl tychy.pl ustka.pl walbrzych.pl warmia.pl warszawa.pl waw.pl wegrow.pl wielun.pl wlocl.pl wloclawek.pl wodzislaw.pl wolomin.pl wroclaw.pl zachpomor.pl zagan.pl zarow.pl zgora.pl zgorzelec.pl pm pn gov.pn co.pn org.pn edu.pn net.pn post pr com.pr net.pr org.pr gov.pr edu.pr isla.pr pro.pr biz.pr info.pr name.pr est.pr prof.pr ac.pr pro aaa.pro aca.pro acct.pro avocat.pro bar.pro cpa.pro eng.pro jur.pro law.pro med.pro recht.pro ps edu.ps gov.ps sec.ps plo.ps com.ps org.ps net.ps pt net.pt gov.pt org.pt edu.pt int.pt publ.pt com.pt nome.pt pw co.pw ne.pw or.pw ed.pw go.pw belau.pw py com.py coop.py edu.py gov.py mil.py net.py org.py qa com.qa edu.qa gov.qa mil.qa name.qa net.qa org.qa sch.qa re asso.re com.re nom.re ro arts.ro com.ro firm.ro info.ro nom.ro nt.ro org.ro rec.ro store.ro tm.ro www.ro rs ac.rs co.rs edu.rs gov.rs in.rs org.rs ru ac.ru edu.ru gov.ru int.ru mil.ru test.ru rw gov.rw net.rw edu.rw ac.rw com.rw co.rw int.rw mil.rw gouv.rw sa com.sa net.sa org.sa gov.sa med.sa pub.sa edu.sa sch.sa sb com.sb edu.sb gov.sb net.sb org.sb sc com.sc gov.sc net.sc org.sc edu.sc sd com.sd net.sd org.sd edu.sd med.sd tv.sd gov.sd info.sd se a.se ac.se b.se bd.se brand.se c.se d.se e.se f.se fh.se fhsk.se fhv.se g.se h.se i.se k.se komforb.se kommunalforbund.se komvux.se l.se lanbib.se m.se n.se naturbruksgymn.se o.se org.se p.se parti.se pp.se press.se r.se s.se t.se tm.se u.se w.se x.se y.se z.se sg com.sg net.sg org.sg gov.sg edu.sg per.sg sh com.sh net.sh gov.sh org.sh mil.sh si sj sk sl com.sl net.sl edu.sl gov.sl org.sl sm sn art.sn com.sn edu.sn gouv.sn org.sn perso.sn univ.sn so com.so net.so org.so sr st co.st com.st consulado.st edu.st embaixada.st gov.st mil.st net.st org.st principe.st saotome.st store.st su sv com.sv edu.sv gob.sv org.sv red.sv sx gov.sx sy edu.sy gov.sy net.sy mil.sy com.sy org.sy sz co.sz ac.sz org.sz tc td tel tf tg th ac.th co.th go.th in.th mi.th net.th or.th tj ac.tj biz.tj co.tj com.tj edu.tj go.tj gov.tj int.tj mil.tj name.tj net.tj nic.tj org.tj test.tj web.tj tk tl gov.tl tm com.tm co.tm org.tm net.tm nom.tm gov.tm mil.tm edu.tm tn com.tn ens.tn fin.tn gov.tn ind.tn intl.tn nat.tn net.tn org.tn info.tn perso.tn tourism.tn edunet.tn rnrt.tn rns.tn rnu.tn mincom.tn agrinet.tn defense.tn turen.tn to com.to gov.to net.to org.to edu.to mil.to tr com.tr info.tr biz.tr net.tr org.tr web.tr gen.tr tv.tr av.tr dr.tr bbs.tr name.tr tel.tr gov.tr bel.tr pol.tr mil.tr k12.tr edu.tr kep.tr nc.tr gov.nc.tr travel tt co.tt com.tt org.tt net.tt biz.tt info.tt pro.tt int.tt coop.tt jobs.tt mobi.tt travel.tt museum.tt aero.tt name.tt gov.tt edu.tt tv tw edu.tw gov.tw mil.tw com.tw net.tw org.tw idv.tw game.tw ebiz.tw club.tw 網路.tw 組織.tw 商業.tw tz ac.tz co.tz go.tz hotel.tz info.tz me.tz mil.tz mobi.tz ne.tz or.tz sc.tz tv.tz ua com.ua edu.ua gov.ua in.ua net.ua org.ua cherkassy.ua cherkasy.ua chernigov.ua chernihiv.ua chernivtsi.ua chernovtsy.ua ck.ua cn.ua cr.ua crimea.ua cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua dominic.ua donetsk.ua dp.ua if.ua ivano-frankivsk.ua kh.ua kharkiv.ua kharkov.ua kherson.ua khmelnitskiy.ua khmelnytskyi.ua kiev.ua kirovograd.ua km.ua kr.ua krym.ua ks.ua kv.ua kyiv.ua lg.ua lt.ua lugansk.ua lutsk.ua lv.ua lviv.ua mk.ua mykolaiv.ua nikolaev.ua od.ua odesa.ua odessa.ua pl.ua poltava.ua rivne.ua rovno.ua rv.ua sb.ua sebastopol.ua sevastopol.ua sm.ua sumy.ua te.ua ternopil.ua uz.ua uzhgorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua zhytomyr.ua zp.ua zt.ua ug co.ug or.ug ac.ug sc.ug go.ug ne.ug com.ug org.ug uk ac.uk co.uk gov.uk ltd.uk me.uk net.uk nhs.uk org.uk plc.uk police.uk *.sch.uk us dni.us fed.us isa.us kids.us nsn.us ak.us al.us ar.us as.us az.us ca.us co.us ct.us dc.us de.us fl.us ga.us gu.us hi.us ia.us id.us il.us in.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nv.us ny.us oh.us ok.us or.us pa.us pr.us ri.us sc.us sd.us tn.us tx.us ut.us vi.us vt.us va.us wa.us wi.us wv.us wy.us k12.ak.us k12.al.us k12.ar.us k12.as.us k12.az.us k12.ca.us k12.co.us k12.ct.us k12.dc.us k12.de.us k12.fl.us k12.ga.us k12.gu.us k12.ia.us k12.id.us k12.il.us k12.in.us k12.ks.us k12.ky.us k12.la.us k12.ma.us k12.md.us k12.me.us k12.mi.us k12.mn.us k12.mo.us k12.ms.us k12.mt.us k12.nc.us k12.ne.us k12.nh.us k12.nj.us k12.nm.us k12.nv.us k12.ny.us k12.oh.us k12.ok.us k12.or.us k12.pa.us k12.pr.us k12.ri.us k12.sc.us k12.tn.us k12.tx.us k12.ut.us k12.vi.us k12.vt.us k12.va.us k12.wa.us k12.wi.us k12.wy.us cc.ak.us cc.al.us cc.ar.us cc.as.us cc.az.us cc.ca.us cc.co.us cc.ct.us cc.dc.us cc.de.us cc.fl.us cc.ga.us cc.gu.us cc.hi.us cc.ia.us cc.id.us cc.il.us cc.in.us cc.ks.us cc.ky.us cc.la.us cc.ma.us cc.md.us cc.me.us cc.mi.us cc.mn.us cc.mo.us cc.ms.us cc.mt.us cc.nc.us cc.nd.us cc.ne.us cc.nh.us cc.nj.us cc.nm.us cc.nv.us cc.ny.us cc.oh.us cc.ok.us cc.or.us cc.pa.us cc.pr.us cc.ri.us cc.sc.us cc.sd.us cc.tn.us cc.tx.us cc.ut.us cc.vi.us cc.vt.us cc.va.us cc.wa.us cc.wi.us cc.wv.us cc.wy.us lib.ak.us lib.al.us lib.ar.us lib.as.us lib.az.us lib.ca.us lib.co.us lib.ct.us lib.dc.us lib.fl.us lib.ga.us lib.gu.us lib.hi.us lib.ia.us lib.id.us lib.il.us lib.in.us lib.ks.us lib.ky.us lib.la.us lib.ma.us lib.md.us lib.me.us lib.mi.us lib.mn.us lib.mo.us lib.ms.us lib.mt.us lib.nc.us lib.nd.us lib.ne.us lib.nh.us lib.nj.us lib.nm.us lib.nv.us lib.ny.us lib.oh.us lib.ok.us lib.or.us lib.pa.us lib.pr.us lib.ri.us lib.sc.us lib.sd.us lib.tn.us lib.tx.us lib.ut.us lib.vi.us lib.vt.us lib.va.us lib.wa.us lib.wi.us lib.wy.us pvt.k12.ma.us chtr.k12.ma.us paroch.k12.ma.us ann-arbor.mi.us cog.mi.us dst.mi.us eaton.mi.us gen.mi.us mus.mi.us tec.mi.us washtenaw.mi.us uy com.uy edu.uy gub.uy mil.uy net.uy org.uy uz co.uz com.uz net.uz org.uz va vc com.vc net.vc org.vc gov.vc mil.vc edu.vc ve arts.ve co.ve com.ve e12.ve edu.ve firm.ve gob.ve gov.ve info.ve int.ve mil.ve net.ve org.ve rec.ve store.ve tec.ve web.ve vg vi co.vi com.vi k12.vi net.vi org.vi vn com.vn net.vn org.vn edu.vn gov.vn int.vn ac.vn biz.vn info.vn name.vn pro.vn health.vn vu com.vu edu.vu net.vu org.vu wf ws com.ws net.ws org.ws gov.ws edu.ws yt امارات հայ বাংলা бг бел 中国 中國 الجزائر مصر ею გე ελ 香港 ಭಾರತ ଭାରତ ভাৰত भारतम् भारोत ڀارت ഭാരതം भारत بھارت భారత్ ભારત ਭਾਰਤ ভারত இந்தியா ایران ايران عراق الاردن 한국 қаз ලංකා இலங்கை المغرب мкд мон 澳門 澳门 مليسيا عمان پاکستان پاكستان فلسطين срб пр.срб орг.срб обр.срб од.срб упр.срб ак.срб рф قطر السعودية السعودیة السعودیۃ السعوديه سودان 新加坡 சிங்கப்பூர் سورية سوريا ไทย ศึกษา.ไทย ธุรกิจ.ไทย รัฐบาล.ไทย ทหาร.ไทย เน็ต.ไทย องค์กร.ไทย تونس 台灣 台湾 臺灣 укр اليمن xxx *.ye ac.za agric.za alt.za co.za edu.za gov.za grondar.za law.za mil.za net.za ngo.za nis.za nom.za org.za school.za tm.za web.za zm ac.zm biz.zm co.zm com.zm edu.zm gov.zm info.zm mil.zm net.zm org.zm sch.zm zw ac.zw co.zw gov.zw mil.zw org.zw aaa aarp abarth abb abbott abbvie abc able abogado abudhabi academy accenture accountant accountants aco active actor adac ads adult aeg aetna afamilycompany afl africa agakhan agency aig aigo airbus airforce airtel akdn alfaromeo alibaba alipay allfinanz allstate ally alsace alstom americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz aol apartments app apple aquarelle arab aramco archi army art arte asda associates athleta attorney auction audi audible audio auspost author auto autos avianca aws axa azure baby baidu banamex bananarepublic band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bbc bbt bbva bcg bcn beats beauty beer bentley berlin best bestbuy bet bharti bible bid bike bing bingo bio black blackfriday blanco blockbuster blog bloomberg blue bms bmw bnl bnpparibas boats boehringer bofa bom bond boo book booking boots bosch bostik boston bot boutique box bradesco bridgestone broadway broker brother brussels budapest bugatti build builders business buy buzz bzh cab cafe cal call calvinklein cam camera camp cancerresearch canon capetown capital capitalone car caravan cards care career careers cars cartier casa case caseih cash casino catering catholic cba cbn cbre cbs ceb center ceo cern cfa cfd chanel channel chase chat cheap chintai chloe christmas chrome chrysler church cipriani circle cisco citadel citi citic city cityeats claims cleaning click clinic clinique clothing cloud club clubmed coach codes coffee college cologne comcast commbank community company compare computer comsec condos construction consulting contact contractors cooking cookingchannel cool corsica country coupon coupons courses credit creditcard creditunion cricket crown crs cruise cruises csc cuisinella cymru cyou dabur dad dance data date dating datsun day dclk dds deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dnp docs doctor dodge dog doha domains dot download drive dtv dubai duck dunlop duns dupont durban dvag dvr earth eat eco edeka education email emerck energy engineer engineering enterprises epost epson equipment ericsson erni esq estate esurance etisalat eurovision eus events everbank exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fiat fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness flickr flights flir florist flowers fly foo food foodnetwork football ford forex forsale forum foundation fox free fresenius frl frogans frontdoor frontier ftr fujitsu fujixerox fun fund furniture futbol fyi gal gallery gallo gallup game games gap garden gbiz gdn gea gent genting george ggee gift gifts gives giving glade glass gle global globo gmail gmbh gmo gmx godaddy gold goldpoint golf goo goodhands goodyear goog google gop got grainger graphics gratis green gripe grocery group guardian gucci guge guide guitars guru hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hgtv hiphop hisamitsu hitachi hiv hkt hockey holdings holiday homedepot homegoods homes homesense honda honeywell horse hospital host hosting hot hoteles hotels hotmail house how hsbc htc hughes hyatt hyundai ibm icbc ice icu ieee ifm ikano imamat imdb immo immobilien industries infiniti ing ink institute insurance insure intel international intuit investments ipiranga irish iselect ismaili ist istanbul itau itv iveco iwc jaguar java jcb jcp jeep jetzt jewelry jio jlc jll jmp jnj joburg jot joy jpmorgan jprs juegos juniper kaufen kddi kerryhotels kerrylogistics kerryproperties kfh kia kim kinder kindle kitchen kiwi koeln komatsu kosher kpmg kpn krd kred kuokgroup kyoto lacaixa ladbrokes lamborghini lamer lancaster lancia lancome land landrover lanxess lasalle lat latino latrobe law lawyer lds lease leclerc lefrak legal lego lexus lgbt liaison lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln linde link lipsy live living lixil loan loans locker locus loft lol london lotte lotto love lpl lplfinancial ltd ltda lundbeck lupin luxe luxury macys madrid maif maison makeup man management mango map market marketing markets marriott marshalls maserati mattel mba mcd mcdonalds mckinsey med media meet melbourne meme memorial men menu meo merckmsd metlife miami microsoft mini mint mit mitsubishi mlb mls mma mobile mobily moda moe moi mom monash money monster montblanc mopar mormon mortgage moscow moto motorcycles mov movie movistar msd mtn mtpc mtr mutual nab nadex nagoya nationwide natura navy nba nec netbank netflix network neustar new newholland news next nextdirect nexus nfl ngo nhk nico nike nikon ninja nissan nissay nokia northwesternmutual norton now nowruz nowtv nra nrw ntt nyc obi observer off office okinawa olayan olayangroup oldnavy ollo omega one ong onl online onyourside ooo open oracle orange organic origins osaka otsuka ott ovh page pamperedchef panasonic panerai paris pars partners parts party passagens pay pccw pet pfizer pharmacy phd philips phone photo photography photos physio piaget pics pictet pictures pid pin ping pink pioneer pizza place play playstation plumbing plus pnc pohl poker politie porn pramerica praxi press prime prod productions prof progressive promo properties property protection pru prudential pub pwc qpon quebec quest qvc racing radio raid read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh rightathome ril rio rip rmit rocher rocks rodeo rogers room rsvp rugby ruhr run rwe ryukyu saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sapo sarl sas save saxo sbi sbs sca scb schaeffler schmidt scholarships school schule schwarz science scjohnson scor scot search seat secure security seek select sener services ses seven sew sex sexy sfr shangrila sharp shaw shell shia shiksha shoes shop shopping shouji show showtime shriram silk sina singles site ski skin sky skype sling smart smile sncf soccer social softbank software sohu solar solutions song sony soy space spiegel spot spreadbetting srl srt stada staples star starhub statebank statefarm statoil stc stcgroup stockholm storage store stream studio study style sucks supplies supply support surf surgery suzuki swatch swiftcover swiss sydney symantec systems tab taipei talk taobao target tatamotors tatar tattoo tax taxi tci tdk team tech technology telecity telefonica temasek tennis teva thd theater theatre tiaa tickets tienda tiffany tips tires tirol tjmaxx tjx tkmaxx tmall today tokyo tools top toray toshiba total tours town toyota toys trade trading training travelchannel travelers travelersinsurance trust trv tube tui tunes tushu tvs ubank ubs uconnect unicom university uno uol ups vacations vana vanguard vegas ventures verisign versicherung vet viajes video vig viking villas vin vip virgin visa vision vista vistaprint viva vivo vlaanderen vodka volkswagen volvo vote voting voto voyage vuelos wales walmart walter wang wanggou warman watch watches weather weatherchannel webcam weber website wed wedding weibo weir whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow wtc wtf xbox xerox xfinity xihuan xin कॉम セール 佛山 慈善 集团 在线 大众汽车 点看 คอม 八卦 موقع 公益 公司 香格里拉 网站 移动 我爱你 москва католик онлайн сайт 联通 קום 时尚 微博 淡马锡 ファッション орг नेट ストア 삼성 商标 商店 商城 дети ポイント 新闻 工行 家電 كوم 中文网 中信 娱乐 谷歌 電訊盈科 购物 クラウド 通販 网店 संगठन 餐厅 网络 ком 诺基亚 食品 飞利浦 手表 手机 ارامكو العليان اتصالات بازار موبايلي ابوظبي كاثوليك همراه 닷컴 政府 شبكة بيتك عرب 机构 组织机构 健康 рус 珠宝 大拿 みんな グーグル 世界 書籍 网址 닷넷 コム 天主教 游戏 vermögensberater vermögensberatung 企业 信息 嘉里大酒店 嘉里 广东 政务 xperia xyz yachts yahoo yamaxun yandex yodobashi yoga yokohama you youtube yun zappos zara zero zip zippo zone zuerich cc.ua inf.ua ltd.ua designate-6.0.0/contrib/archive/0000775000175100017510000000000013245511630016565 5ustar zuulzuul00000000000000designate-6.0.0/contrib/archive/backends/0000775000175100017510000000000013245511630020337 5ustar zuulzuul00000000000000designate-6.0.0/contrib/archive/backends/impl_ipa/0000775000175100017510000000000013245511630022131 5ustar zuulzuul00000000000000designate-6.0.0/contrib/archive/backends/impl_ipa/auth.py0000666000175100017510000000416013245511330023444 0ustar zuulzuul00000000000000# Copyright 2014 Red Hat, Inc. # # Author: Rich Megginson # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import logging from requests import auth import kerberos from designate.utils import generate_uuid from designate.backend.impl_ipa import IPAAuthError from designate.i18n import _LW from designate.i18n import _LE LOG = logging.getLogger(__name__) class IPAAuth(auth.AuthBase): def __init__(self, keytab, hostname): # store the kerberos credentials in memory rather than on disk os.environ['KRB5CCNAME'] = "MEMORY:" + generate_uuid() self.token = None self.keytab = keytab self.hostname = hostname if self.keytab: os.environ['KRB5_CLIENT_KTNAME'] = self.keytab else: LOG.warning(_LW('No IPA client kerberos keytab file given')) def __call__(self, request): if not self.token: self.refresh_auth() request.headers['Authorization'] = 'negotiate ' + self.token return request def refresh_auth(self): service = "HTTP@" + self.hostname flags = kerberos.GSS_C_MUTUAL_FLAG | kerberos.GSS_C_SEQUENCE_FLAG try: (_, vc) = kerberos.authGSSClientInit(service, flags) except kerberos.GSSError as e: LOG.error(_LE("caught kerberos exception %r") % e) raise IPAAuthError(str(e)) try: kerberos.authGSSClientStep(vc, "") except kerberos.GSSError as e: LOG.error(_LE("caught kerberos exception %r") % e) raise IPAAuthError(str(e)) self.token = kerberos.authGSSClientResponse(vc) designate-6.0.0/contrib/archive/backends/impl_ipa/__init__.py0000666000175100017510000004117113245511330024245 0ustar zuulzuul00000000000000# Copyright 2014 Red Hat, Inc. # # Author: Rich Megginson # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import pprint import time import requests from oslo_config import cfg from oslo_log import log as logging from oslo_serialization import jsonutils as json from oslo_utils import importutils from designate import exceptions from designate.backend import base from designate.i18n import _LE LOG = logging.getLogger(__name__) IPA_DEFAULT_PORT = 443 class IPABaseError(exceptions.Backend): error_code = 500 error_type = 'unknown_ipa_error' class IPAAuthError(IPABaseError): error_type = 'authentication_error' # map of designate domain parameters to the corresponding # ipa parameter # NOTE: ipa manages serial, and does not honor # increment_serial=False - this means the designate serial # and the ipa serial will diverge if updates are made # using increment_serial=False domain2ipa = {'ttl': 'dnsttl', 'email': 'idnssoarname', 'serial': 'idnssoaserial', 'expire': 'idnssoaexpire', 'minimum': 'idnssoaminimum', 'refresh': 'idnssoarefresh', 'retry': 'idnssoaretry'} # map of designate record types to ipa rectype2iparectype = {'A': ('arecord', '%(data)s'), 'AAAA': ('aaaarecord', '%(data)s'), 'MX': ('mxrecord', '%(data)s'), 'CNAME': ('cnamerecord', '%(data)s'), 'TXT': ('txtrecord', '%(data)s'), 'SRV': ('srvrecord', '%(data)s'), 'NS': ('nsrecord', '%(data)s'), 'PTR': ('ptrrecord', '%(data)s'), 'SPF': ('spfrecord', '%(data)s'), 'SSHFP': ('sshfprecord', '%(data)s')} IPA_INVALID_DATA = 3009 IPA_NOT_FOUND = 4001 IPA_DUPLICATE = 4002 IPA_NO_CHANGES = 4202 class IPAUnknownError(IPABaseError): pass class IPACommunicationFailure(IPABaseError): error_type = 'communication_failure' pass class IPAInvalidData(IPABaseError): error_type = 'invalid_data' pass class IPADomainNotFound(IPABaseError): error_type = 'domain_not_found' pass class IPARecordNotFound(IPABaseError): error_type = 'record_not_found' pass class IPADuplicateDomain(IPABaseError): error_type = 'duplicate_domain' pass class IPADuplicateRecord(IPABaseError): error_type = 'duplicate_record' pass ipaerror2exception = { IPA_INVALID_DATA: { 'dnszone': IPAInvalidData, 'dnsrecord': IPAInvalidData }, IPA_NOT_FOUND: { 'dnszone': IPADomainNotFound, 'dnsrecord': IPARecordNotFound }, IPA_DUPLICATE: { 'dnszone': IPADuplicateDomain, 'dnsrecord': IPADuplicateRecord }, # NOTE: Designate will send updates with all fields # even if they have not changed value. If none of # the given values has changed, IPA will return # this error code - this can be ignored IPA_NO_CHANGES: { 'dnszone': None, 'dnsrecord': None } } def abs2rel_name(domain, rsetname): """convert rsetname from absolute form foo.bar.tld. to the name relative to the domain. For IPA, if domain is rsetname, then use "@" as the relative name. If rsetname does not end with a subset of the domain, the just return the raw rsetname """ if rsetname.endswith(domain): idx = rsetname.rfind(domain) if idx == 0: rsetname = "@" elif idx > 0: rsetname = rsetname[:idx].rstrip(".") return rsetname class IPABackend(base.Backend): __plugin_name__ = 'ipa' @classmethod def get_cfg_opts(cls): group = cfg.OptGroup( name='backend:ipa', title="Configuration for IPA Backend" ) opts = [ cfg.StrOpt('ipa-host', default='localhost.localdomain', help='IPA RPC listener host - must be FQDN'), cfg.IntOpt('ipa-port', default=IPA_DEFAULT_PORT, help='IPA RPC listener port'), cfg.StrOpt('ipa-client-keytab', help='Kerberos client keytab file'), cfg.StrOpt('ipa-auth-driver-class', default='designate.backend.impl_ipa.auth.IPAAuth', help='Class that implements the authentication ' 'driver for IPA'), cfg.StrOpt('ipa-ca-cert', help='CA certificate for use with https to IPA'), cfg.StrOpt('ipa-base-url', default='/ipa', help='Base URL for IPA RPC, relative to host[:port]'), cfg.StrOpt('ipa-json-url', default='/json', help='URL for IPA JSON RPC, relative to IPA base URL'), cfg.IntOpt('ipa-connect-retries', default=1, help='How many times Designate will attempt to retry ' 'the connection to IPA before giving up'), cfg.BoolOpt('ipa-force-ns-use', default=False, help='IPA requires that a specified ' 'name server or SOA MNAME is resolvable - if this ' 'option is set, Designate will force IPA to use a ' 'given name server even if it is not resolvable'), cfg.StrOpt('ipa-version', default='2.65', help='IPA RPC JSON version') ] return [(group, opts)] def start(self): LOG.debug('IPABackend start') self.request = requests.Session() authclassname = cfg.CONF[self.name].ipa_auth_driver_class authclass = importutils.import_class(authclassname) self.request.auth = \ authclass(cfg.CONF[self.name].ipa_client_keytab, cfg.CONF[self.name].ipa_host) ipa_base_url = cfg.CONF[self.name].ipa_base_url if ipa_base_url.startswith("http"): # full URL self.baseurl = ipa_base_url else: # assume relative to https://host[:port] self.baseurl = "https://" + cfg.CONF[self.name].ipa_host ipa_port = cfg.CONF[self.name].ipa_port if ipa_port != IPA_DEFAULT_PORT: self.baseurl += ":" + str(ipa_port) self.baseurl += ipa_base_url ipa_json_url = cfg.CONF[self.name].ipa_json_url if ipa_json_url.startswith("http"): # full URL self.jsonurl = ipa_json_url else: # assume relative to https://host[:port] self.jsonurl = self.baseurl + ipa_json_url xtra_hdrs = {'Content-Type': 'application/json', 'Referer': self.baseurl} self.request.headers.update(xtra_hdrs) self.request.verify = cfg.CONF[self.name].ipa_ca_cert self.ntries = cfg.CONF[self.name].ipa_connect_retries self.force = cfg.CONF[self.name].ipa_force_ns_use def create_zone(self, context, zone): LOG.debug('Create Zone %r' % zone) ipareq = {'method': 'dnszone_add', 'id': 0} params = [zone['name']] servers = self.central_service.get_zone_ns_records(self.admin_context) # just use the first one for zone creation - add the others # later, below - use force because designate assumes the NS # already exists somewhere, is resolvable, and already has # an A/AAAA record args = {'idnssoamname': servers[0]['name']} if self.force: args['force'] = True for dkey, ipakey in list(domain2ipa.items()): if dkey in zone: args[ipakey] = zone[dkey] ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) # add NS records for all of the other servers if len(servers) > 1: ipareq = {'method': 'dnsrecord_add', 'id': 0} params = [zone['name'], "@"] args = {'nsrecord': servers[1:]} if self.force: args['force'] = True ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def update_zone(self, context, zone): LOG.debug('Update Zone %r' % zone) ipareq = {'method': 'dnszone_mod', 'id': 0} params = [zone['name']] args = {} for dkey, ipakey in list(domain2ipa.items()): if dkey in zone: args[ipakey] = zone[dkey] ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def delete_zone(self, context, zone): LOG.debug('Delete Zone %r' % zone) ipareq = {'method': 'dnszone_del', 'id': 0} params = [zone['name']] args = {} ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def create_recordset(self, context, domain, recordset): LOG.debug('Discarding create_recordset call, not-applicable') def update_recordset(self, context, domain, recordset): LOG.debug('Update RecordSet %r / %r' % (domain, recordset)) # designate allows to update a recordset if there are no # records in it - we should ignore this case if not self._recset_has_records(context, recordset): LOG.debug('No records in %r / %r - skipping' % (domain, recordset)) return # The only thing IPA allows is to change the ttl, since that is # stored "per recordset" if 'ttl' not in recordset: return ipareq = {'method': 'dnsrecord_mod', 'id': 0} dname = domain['name'] rsetname = abs2rel_name(dname, recordset['name']) params = [domain['name'], rsetname] args = {'dnsttl': recordset['ttl']} ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def delete_recordset(self, context, domain, recordset): LOG.debug('Delete RecordSet %r / %r' % (domain, recordset)) # designate allows to delete a recordset if there are no # records in it - we should ignore this case if not self._recset_has_records(context, recordset): LOG.debug('No records in %r / %r - skipping' % (domain, recordset)) return ipareq = {'method': 'dnsrecord_mod', 'id': 0} dname = domain['name'] rsetname = abs2rel_name(dname, recordset['name']) params = [domain['name'], rsetname] rsettype = rectype2iparectype[recordset['type']][0] args = {rsettype: None} ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def create_record(self, context, domain, recordset, record): LOG.debug('Create Record %r / %r / %r' % (domain, recordset, record)) ipareq = {'method': 'dnsrecord_add', 'id': 0} params, args = self._rec_to_ipa_rec(domain, recordset, [record]) ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def update_record(self, context, domain, recordset, record): LOG.debug('Update Record %r / %r / %r' % (domain, recordset, record)) # for modify operations - IPA does not support a way to change # a particular field in a given record - e.g. for an MX record # with several values, IPA stores them like this: # name: "server1.local." # data: ["10 mx1.server1.local.", "20 mx2.server1.local."] # we could do a search of IPA, compare the values in the # returned array - but that adds an additional round trip # and is error prone # instead, we just get all of the current values and send # them in one big modify criteria = {'recordset_id': record['recordset_id']} reclist = self.central_service.find_records(self.admin_context, criteria) ipareq = {'method': 'dnsrecord_mod', 'id': 0} params, args = self._rec_to_ipa_rec(domain, recordset, reclist) ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def delete_record(self, context, domain, recordset, record): LOG.debug('Delete Record %r / %r / %r' % (domain, recordset, record)) ipareq = {'method': 'dnsrecord_del', 'id': 0} params, args = self._rec_to_ipa_rec(domain, recordset, [record]) args['del_all'] = 0 ipareq['params'] = [params, args] self._call_and_handle_error(ipareq) def ping(self, context): LOG.debug('Ping') # NOTE: This call will cause ipa to issue an error, but # 1) it should not throw an exception # 2) the response will indicate ipa is running # 3) the bandwidth usage is minimal ipareq = {'method': 'dnszone_show', 'id': 0} params = ['@'] args = {} ipareq['params'] = [params, args] retval = {'result': True} try: self._call_and_handle_error(ipareq) except Exception as e: retval = {'result': False, 'reason': str(e)} return retval def _rec_to_ipa_rec(self, domain, recordset, reclist): dname = domain['name'] rsetname = abs2rel_name(dname, recordset['name']) params = [dname, rsetname] rectype = recordset['type'] vals = [] for record in reclist: vals.append(rectype2iparectype[rectype][1] % record) args = {rectype2iparectype[rectype][0]: vals} ttl = recordset.get('ttl') or domain.get('ttl') if ttl is not None: args['dnsttl'] = ttl return params, args def _ipa_error_to_exception(self, resp, ipareq): exc = None if resp['error'] is None: return exc errcode = resp['error']['code'] method = ipareq['method'] methtype = method.split('_')[0] exclass = ipaerror2exception.get(errcode, {}).get(methtype, IPAUnknownError) if exclass: LOG.debug("Error: ipa command [%s] returned error [%s]" % (pprint.pformat(ipareq), pprint.pformat(resp))) elif errcode: # not mapped LOG.debug("Ignoring IPA error code %d: %s" % (errcode, pprint.pformat(resp))) return exclass def _call_and_handle_error(self, ipareq): if 'version' not in ipareq['params'][1]: ipareq['params'][1]['version'] = cfg.CONF[self.name].ipa_version need_reauth = False while True: status_code = 200 try: if need_reauth: self.request.auth.refresh_auth() rawresp = self.request.post(self.jsonurl, data=json.dumps(ipareq)) status_code = rawresp.status_code except IPAAuthError: status_code = 401 if status_code == 401: if self.ntries == 0: # persistent inability to auth LOG.error(_LE("Error: could not authenticate to IPA - " "please check for correct keytab file")) # reset for next time self.ntries = cfg.CONF[self.name].ipa_connect_retries raise IPACommunicationFailure() else: LOG.debug("Refresh authentication") need_reauth = True self.ntries -= 1 time.sleep(1) else: # successful - reset self.ntries = cfg.CONF[self.name].ipa_connect_retries break try: resp = json.loads(rawresp.text) except ValueError: # response was not json - some sort of error response LOG.debug("Error: unknown error from IPA [%s]" % rawresp.text) raise IPAUnknownError("unable to process response from IPA") # raise the appropriate exception, if error exclass = self._ipa_error_to_exception(resp, ipareq) if exclass: # could add additional info/message to exception here raise exclass() return resp def _recset_has_records(self, context, recordset): """Return True if the recordset has records, False otherwise""" criteria = {'recordset_id': recordset['id']} num = self.central_service.count_records(self.admin_context, criteria) return num > 0 designate-6.0.0/contrib/archive/backends/impl_multi.py0000666000175100017510000001243013245511330023063 0ustar zuulzuul00000000000000# Copyright (C) 2013 eNovance SAS # # Author: Artom Lifshitz # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import logging from oslo_config import cfg from oslo_utils import excutils from designate import backend from designate.backend import base LOG = logging.getLogger(__name__) CFG_GROUP = 'backend:multi' class MultiBackend(base.Backend): """ Multi-backend backend This backend dispatches calls to a master backend and a slave backend. It enforces master/slave ordering semantics as follows: Creates for tsigkeys, servers and domains are done on the master first, then on the slave. Updates for tsigkeys, servers and domains and all operations on records are done on the master only. It's assumed masters and slaves use an external mechanism to sync existing domains, most likely XFR. Deletes are done on the slave first, then on the master. If the create on the slave fails, the domain/tsigkey/server is deleted from the master. If delete on the master fails, the domain/tdigkey/server is recreated on the slave. """ __plugin_name__ = 'multi' @classmethod def get_cfg_opts(cls): group = cfg.OptGroup( name=CFG_GROUP, title="Configuration for multi-backend Backend" ) opts = [ cfg.StrOpt('master', default='fake', help='Master backend'), cfg.StrOpt('slave', default='fake', help='Slave backend'), ] return [(group, opts)] def __init__(self, central_service): super(MultiBackend, self).__init__(central_service) self.central = central_service self.master = backend.get_backend(cfg.CONF[CFG_GROUP].master, central_service) self.slave = backend.get_backend(cfg.CONF[CFG_GROUP].slave, central_service) def start(self): self.master.start() self.slave.start() def stop(self): self.slave.stop() self.master.stop() def create_tsigkey(self, context, tsigkey): self.master.create_tsigkey(context, tsigkey) try: self.slave.create_tsigkey(context, tsigkey) except Exception: with excutils.save_and_reraise_exception(): self.master.delete_tsigkey(context, tsigkey) def update_tsigkey(self, context, tsigkey): self.master.update_tsigkey(context, tsigkey) def delete_tsigkey(self, context, tsigkey): self.slave.delete_tsigkey(context, tsigkey) try: self.master.delete_tsigkey(context, tsigkey) except Exception: with excutils.save_and_reraise_exception(): self.slave.create_tsigkey(context, tsigkey) def create_zone(self, context, zone): self.master.create_zone(context, zone) try: self.slave.create_zone(context, zone) except Exception: with excutils.save_and_reraise_exception(): self.master.delete_zone(context, zone) def update_zone(self, context, zone): self.master.update_zone(context, zone) def delete_zone(self, context, zone): # Fetch the full zone from Central first, as we may # have to recreate it on slave if delete on master fails deleted_context = context.deepcopy() deleted_context.show_deleted = True full_domain = self.central.find_zone( deleted_context, {'id': zone['id']}) self.slave.delete_zone(context, zone) try: self.master.delete_zone(context, zone) except Exception: with excutils.save_and_reraise_exception(): self.slave.create_zone(context, zone) [self.slave.create_record(context, zone, record) for record in self.central.find_records( context, {'domain_id': full_domain['id']})] def create_recordset(self, context, zone, recordset): self.master.create_recordset(context, zone, recordset) def update_recordset(self, context, zone, recordset): self.master.update_recordset(context, zone, recordset) def delete_recordset(self, context, zone, recordset): self.master.delete_recordset(context, zone, recordset) def create_record(self, context, zone, recordset, record): self.master.create_record(context, zone, recordset, record) def update_record(self, context, zone, recordset, record): self.master.update_record(context, zone, recordset, record) def delete_record(self, context, zone, recordset, record): self.master.delete_record(context, zone, recordset, record) def ping(self, context): return { 'master': self.master.ping(context), 'slave': self.slave.ping(context) } designate-6.0.0/contrib/dns_dump_hex_to_text.py0000666000175100017510000000153713245511330021746 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import binascii import sys import dns import dns.message import dns.rdatatype unhexed = binascii.unhexlify(sys.argv[1]) response = dns.message.from_wire(unhexed) print(response.to_text()) designate-6.0.0/contrib/consume.py0000666000175100017510000000232513245511330017170 0ustar zuulzuul00000000000000# Copyright 2016 Rackspace, Inc. # # Author: Tim Simmons # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ This dumb script allows you to see what's being dumped onto the notifications.info queue nabbed from: https://pika.readthedocs.io/en/latest/examples/blocking_consume.html """ import pika def on_message(channel, method_frame, header_frame, body): print(method_frame.delivery_tag) print(body) channel.basic_ack(delivery_tag=method_frame.delivery_tag) connection = pika.BlockingConnection() channel = connection.channel() channel.basic_consume(on_message, 'notifications.info') try: channel.start_consuming() except KeyboardInterrupt: channel.stop_consuming() connection.close() designate-6.0.0/contrib/dns_dump_raw.py0000777000175100017510000000160513245511330020204 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys import binascii import dns import dns.message wire = sys.argv[1] # Prepare the Message message = dns.message.from_wire(binascii.a2b_hex(wire)) # Print the test representation of the message print(message.to_text()) designate-6.0.0/contrib/djbdns/0000775000175100017510000000000013245511630016410 5ustar zuulzuul00000000000000designate-6.0.0/contrib/djbdns/tinydns.init0000777000175100017510000000477013245511330020777 0ustar zuulzuul00000000000000#! /bin/bash ### BEGIN INIT INFO # Provides: tinydns # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tinydns daemon processes # Description: Start the TinyDNS resolver ### END INIT INFO # Documentation # man tinydns # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions NAME=tinydns DAEMON=/usr/bin/$NAME DAEMON_USER=djbdns DESC="the tinydns daemon" ROOTDIR=/var/lib/djbdns PATH=/sbin:/bin:/usr/sbin:/usr/bin LAUNCHER=/usr/bin/envuidgid LAUNCHER_ARGS="$DAEMON_USER envdir ./env softlimit -d300000 $DAEMON" PIDFILE=/run/$NAME.pid # Exit if executable is not installed [ -x "$DAEMON" ] || exit 0 set -x case "$1" in start) if [ ! -d "$ROOTDIR" ]; then log_action_msg "Not starting $DESC: $ROOTDIR is missing." exit 0 fi log_action_begin_msg "Starting $DESC" if start-stop-daemon --stop --signal 0 --quiet --pidfile $PIDFILE --exec $DAEMON; then log_action_end_msg 0 "already running" else if start-stop-daemon --start --verbose --make-pidfile --chdir $ROOTDIR --pidfile $PIDFILE --exec $LAUNCHER -- $LAUNCHER_ARGS then log_action_end_msg 0 else log_action_end_msg 1 exit 1 fi fi ;; stop) log_action_begin_msg "Stopping $DESC" pid=$(cat $PIDFILE 2>/dev/null) || true if test ! -f $PIDFILE -o -z "$pid"; then log_action_end_msg 0 "not running - there is no $PIDFILE" exit 0 fi if start-stop-daemon --stop --signal INT --quiet --pidfile $PIDFILE --exec $DAEMON; then rm -f $PIDFILE elif kill -0 $pid 2>/dev/null; then log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?" exit 1 else log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" exit 1 fi ;; reload) echo "Not implemented, use restart" exit 1 ;; restart|force-reload) $0 stop $0 start ;; status) if test ! -r $(dirname $PIDFILE); then log_failure_msg "cannot read PID file $PIDFILE" exit 4 fi pid=$(cat $PIDFILE 2>/dev/null) || true if test ! -f $PIDFILE -o -z "$pid"; then log_failure_msg "$NAME is not running" exit 3 fi if ps "$pid" >/dev/null 2>&1; then log_success_msg "$NAME is running" exit 0 else log_failure_msg "$NAME is not running" exit 1 fi ;; *) log_action_msg "Usage: $0 {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 designate-6.0.0/contrib/djbdns/tinydns.service0000666000175100017510000000165313245511330021466 0ustar zuulzuul00000000000000# # Replace /var/lib/djbdns if needed # [Unit] Description=tinydns DNS resolver Documentation=man:tinydns Documentation=https://cr.yp.to/djbdns.html After=network.target Requires=network.target Wants=network.target ConditionPathExists=/var/lib/djbdns [Service] Type=forking PIDFile=/run/tinydns.pid Environment="ROOT=/var/lib/djbdns" ExecStart=/usr/bin/tinydns ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry=TERM/5/KILL/5 --pidfile /run/tinydns.pid TimeoutStopSec=30 KillMode=mixed PermissionsStartOnly=true Restart=on-abnormal RestartSec=2s LimitNOFILE=65536 WorkingDirectory=/var/lib/djbdns User=$ug_name Group=$ug_name # Hardening # CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_CHOWN CAP_FOWNER NoNewPrivileges=yes PrivateDevices=yes PrivateTmp=yes ProtectHome=yes ProtectSystem=full # TODO: restrict ReadOnlyDirectories ReadOnlyDirectories=/ ReadWriteDirectories=-/var/lib/djbdns [Install] WantedBy=multi-user.target designate-6.0.0/contrib/dns_dump_dnspy.py0000777000175100017510000000172213245511330020550 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import binascii import dns import dns.message import dns.rdatatype # Prepare a Packet request = dns.message.make_query( qname='example.com.', rdtype=dns.rdatatype.A, ) request.set_opcode(dns.opcode.UPDATE) # Print the hex representation of the Request print(binascii.b2a_hex(request.to_wire())) designate-6.0.0/contrib/zoneextractor.py0000666000175100017510000001621313245511330020427 0ustar zuulzuul00000000000000# Copyright (C) 2013 eNovance SAS # # Author: Artom Lifshitz # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys import re import os import argparse import logging import dns.zone from designate.i18n import _LI from designate.i18n import _LE logging.basicConfig() LOG = logging.getLogger(__name__) class Zone: """ Encapsulates a dnspython zone to provide easier printing and writing to files """ def __init__(self, dnszone): self._dnszone = dnszone def to_stdout(self): self.to_file(sys.stdout) def to_file(self, f): if type(f) is file: fd = f elif type(f) is str: if os.path.isdir(f): fd = open(os.path.join(f, self._dnszone.origin.to_text()), 'w') else: fd = open(f, 'w') else: raise ValueError('f must be a file name or file object') fd.write('$ORIGIN %s\n' % self._dnszone.origin.to_text()) self._dnszone.to_file(fd, relativize=False) fd.write('\n') if fd is not sys.stdout: fd.close() class Extractor: """ Extracts all the zones configured in a named.conf, including included files """ # The regexes we use to extract information from the config file _include_regex = re.compile( r""" include \s* # The include keyword, possibly followed by # whitespace " # Open quote (?P [^"]+ ) # The included file (without quotes), as group 'file' " # Close quote \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _zone_regex = re.compile( r""" zone \s* # The zone keyword, possibly followed by # whitespace " # Open quote (?P [^"]+ ) # The zone name (without quotes), as group 'name' " # Close quote \s* # Possible whitespace { # Open bracket (?P [^{}]+ ) # The contents of the zone block (without # brackets) as group 'content' } # Close bracket \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _type_master_regex = re.compile( r""" type \s+ # The type keyword, followed by some whitespace master # The master keyword \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _zonefile_regex = re.compile(r""" file \s* # The file keyword, possible followed by whitespace " # Open quote (?P [^"]+ ) # The zonefile (without quotes), as group 'file' " # Close quote \s* ; # Semicolor, possible preceded by whitespace """, re.MULTILINE | re.VERBOSE) def __init__(self, conf_file): self._conf_file = conf_file self._conf = self._filter_comments(conf_file) def _skip_until(self, f, stop): skip = '' while True: skip += f.read(1) if skip.endswith(stop): break def _filter_comments(self, conf_file): """ Reads the named.conf, skipping comments and returning the filtered configuration """ f = open(conf_file) conf = '' while True: c = f.read(1) if c == '': break conf += c # If we just appended a commenter: if conf.endswith('#'): self._skip_until(f, '\n') # Strip the '#' we appended earlier conf = conf[:-1] elif conf.endswith('//'): self._skip_until(f, '\n') # Strip the '//' we appended earlier conf = conf[:-2] elif conf.endswith('/*'): self._skip_until(f, '*/') # Strip the '/*' we appended earlier conf = conf[:-2] f.close() return conf def extract(self): zones = [] zones.extend(self._process_includes()) zones.extend(self._extract_zones()) return zones def _process_includes(self): zones = [] for include in self._include_regex.finditer(self._conf): x = Extractor(include.group('file')) zones.extend(x.extract()) return zones def _extract_zones(self): zones = [] for zone in self._zone_regex.finditer(self._conf): content = zone.group('content') name = zone.group('name') # Make sure it's a master zone: if self._type_master_regex.search(content): zonefile = self._zonefile_regex.search(content).group('file') try: zone_object = dns.zone.from_file(zonefile, allow_include=True) except dns.zone.UnknownOrigin: LOG.info(_LI('%(zonefile)s is missing $ORIGIN, ' 'inserting %(name)s'), {'zonefile': zonefile, 'name': name}) zone_object = dns.zone.from_file(zonefile, allow_include=True, origin=name) except dns.zone.NoSOA: LOG.error(_LE('%s has no SOA') % zonefile) zones.append(Zone(zone_object)) return zones def main(): parser = argparse.ArgumentParser( description='Extract zonefiles from named.conf.') parser.add_argument('named_conf', metavar='FILE', type=str, nargs=1, help='the named.conf to parse') parser.add_argument('-w', '--write', metavar='DIR', type=str, help='Wwrite each extracted zonefile as its own file' ' in DIR') parser.add_argument('-v', '--verbose', action='store_true', help='verbose output') args = parser.parse_args() if args.verbose: LOG.setLevel(logging.INFO) else: LOG.setLevel(logging.WARNING) try: x = Extractor(args.named_conf[0]) for zone in x.extract(): if args.write is not None: zone.to_file(args.write) else: zone.to_stdout() except IOError as e: LOG.error(e) if __name__ == '__main__': sys.exit(main()) designate-6.0.0/contrib/designate-ext-samplehandler/0000775000175100017510000000000013245511630022522 5ustar zuulzuul00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/0000775000175100017510000000000013245511630030244 5ustar zuulzuul00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/version.py0000666000175100017510000000134313245511330032303 0ustar zuulzuul00000000000000# Copyright 2013 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import pbr.version version_info = pbr.version.VersionInfo('designate-ext-samplehandler') designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/__init__.py0000666000175100017510000000000013245511330032342 0ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler0000775000175100017510000000000013245511630034350 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000015700000000000011220 Lustar 00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/sample.pydesignate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler0000666000175100017510000000551713245511330034361 0ustar zuulzuul00000000000000# Copyright 2013 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg from oslo_log import log as logging from designate.context import DesignateContext from designate.objects import Record from designate.notification_handler.base import NotificationHandler LOG = logging.getLogger(__name__) # Setup a config group cfg.CONF.register_group(cfg.OptGroup( name='handler:sample', title="Configuration for Sample Notification Handler" )) # Setup the config options cfg.CONF.register_opts([ cfg.StrOpt('control-exchange', default='nova'), cfg.ListOpt('notification-topics', default=['designate']), cfg.StrOpt('zone-name', default='example.org.'), cfg.StrOpt('zone-id', default='12345'), ], group='handler:sample') class SampleHandler(NotificationHandler): """Sample Handler""" __plugin_name__ = 'sample' def get_exchange_topics(self): """ Return a tuple of (exchange, [topics]) this handler wants to receive events from. """ exchange = cfg.CONF[self.name].control_exchange topics = [topic for topic in cfg.CONF[self.name].notification_topics] return exchange, topics def get_event_types(self): return [ 'compute.instance.create.end' ] def process_notification(self, context, event_type, payload): # Do something with the notification.. e.g: zone_id = cfg.CONF[self.name].zone_id zone_name = cfg.CONF[self.name].zone_name record_name = '%s.%s' % (payload['instance_id'], zone_name) context = DesignateContext().elevated() context.all_tenants = True # context.edit_managed_records = True for fixed_ip in payload['fixed_ips']: recordset_values = { 'zone_id': zone_id, 'name': record_name, 'type': 'A' if fixed_ip['version'] == 4 else 'AAAA' } record_values = { 'data': fixed_ip['address'], } recordset = self._find_or_create_recordset(context, **recordset_values) self.central_api.create_record(context, zone_id, recordset['id'], Record(**record_values)) ././@LongLink0000000000000000000000000000016100000000000011213 Lustar 00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/__init__.pydesignate-6.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler0000666000175100017510000000000013245511330034337 0ustar zuulzuul00000000000000designate-6.0.0/contrib/designate-ext-samplehandler/MANIFEST.in0000666000175100017510000000031713245511330024260 0ustar zuulzuul00000000000000include AUTHORS include ChangeLog include designate_ext_samplehandler/versioninfo include *.txt *.ini *.cfg *.rst *.md exclude .gitignore exclude .gitreview exclude *.sublime-project global-exclude *.pyc designate-6.0.0/contrib/designate-ext-samplehandler/README.rst0000666000175100017510000000024713245511330024213 0ustar zuulzuul00000000000000Sample Designate Notification Handler Extension =============================================== This repo provides a sample plugin for a custom notification handler. designate-6.0.0/contrib/designate-ext-samplehandler/setup.cfg0000666000175100017510000000255513245511330024351 0ustar zuulzuul00000000000000[metadata] name = designate-ext-samplehandler summary = Sample Designate Handler Extension description-file = README.rst author = Kiall Mac Innes author-email = kiall@hp.com classifier = Environment :: OpenStack Intended Audience :: Information Technology Intended Audience :: System Administrators License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux Programming Language :: Python Programming Language :: Python :: 2 Programming Language :: Python :: 2.7 Programming Language :: Python :: 2.6 [global] setup-hooks = pbr.hooks.setup_hook [files] packages = designate_ext_samplehandler [entry_points] designate.notification.handler = sample = designate_ext_samplehandler.notification_handler.sample:SampleHandler [build_sphinx] all_files = 1 build-dir = doc/build source-dir = doc/source [egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 [compile_catalog] directory = designate-ext-samplehandler/locale domain = designate-ext-samplehandler [update_catalog] domain = designate-ext-samplehandler output_dir = designate-ext-samplehandler/locale input_file = designate-ext-samplehandler/locale/designate-ext-samplehandler.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg output_file = designate-ext-samplehandler/locale/designate-ext-samplehandler.pot designate-6.0.0/contrib/designate-ext-samplehandler/test-requirements.txt0000666000175100017510000000002413245511330026756 0ustar zuulzuul00000000000000hacking>=0.8.0,<0.9 designate-6.0.0/contrib/designate-ext-samplehandler/.gitignore0000666000175100017510000000032213245511330024506 0ustar zuulzuul00000000000000*.pyc *.dat TAGS *.egg* build .coverage .tox cover venv .venv *.sublime-workspace *.sqlite var/* etc/*.conf etc/*.ini AUTHORS ChangeLog doc/source/api/* doc/build/* dist designate_ext_samplehandler/versioninfo designate-6.0.0/contrib/designate-ext-samplehandler/requirements.txt0000666000175100017510000000011613245511330026003 0ustar zuulzuul00000000000000pbr>=0.6,<1.0 -e git+https://github.com/openstack/designate.git#egg=designate designate-6.0.0/contrib/designate-ext-samplehandler/setup.py0000777000175100017510000000141513245511330024237 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright (c) 2013 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools setuptools.setup( setup_requires=['pbr'], pbr=True) designate-6.0.0/contrib/records_mass_create.py0000666000175100017510000000352013245511330021524 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright 2015 Hewlett-Packard Development Company, L.P. # # Author: Endre Karlson # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys from designateclient import v1 from oslo_config import cfg from oslo_log import log as logging from designate.utils import generate_uuid cfg.CONF.register_cli_opts([ cfg.StrOpt("domain_id", help="ID of domain to use."), cfg.IntOpt("records", default=100, help="Records to create (name will be ..") ]) LOG = logging.getLogger(__name__) if __name__ == '__main__': logging.register_options(cfg.CONF) cfg.CONF(sys.argv[1:], project="designate") logging.setup(cfg.CONF, "designate") project_name = os.environ.get( 'OS_PROJECT_NAME', os.environ.get('OS_TENANT_NAME')) client = v1.Client( auth_url=os.environ.get('OS_AUTH_URL'), username=os.environ.get('OS_USERNAME'), password=os.environ.get('OS_PASSWORD'), project_name=project_name ) domain = client.domains.get(cfg.CONF.domain_id) msg = "Creating %s records", cfg.CONF.records LOG.info(msg) for i in range(0, cfg.CONF.records): name = '%s.%s' % (generate_uuid(), domain.name) record = {"name": name, "type": "A", "data": "10.0.0.1"} client.records.create(domain, record) designate-6.0.0/contrib/vagrant/0000775000175100017510000000000013245511630016606 5ustar zuulzuul00000000000000designate-6.0.0/contrib/vagrant/README.rst0000666000175100017510000000006513245511330020275 0ustar zuulzuul00000000000000See devstack/README.rst or use setup_ubuntu_devstack designate-6.0.0/contrib/vagrant/setup_ubuntu_devstack0000777000175100017510000000311513245511330023161 0ustar zuulzuul00000000000000#!/bin/bash # # Setup a Designate devstack based on Ubuntu Trusty using libvirt # and run a quick CLI test and the functional tests # # To be run from /contrib/vagrant # set -eu test -f Vagrantfile if vagrant global-status | grep ' ubuntu ' | grep -q 'contrib/vagrant'; then echo "A devstack VM seems to be already running, see vagrant global-status" exit 1 fi if vagrant plugin list | grep -q ^vagrant-mutate; then echo "Skip installing vagrant-mutate" else echo "Install vagrant-mutate" vagrant plugin install vagrant-mutate fi if vagrant box list | grep -q ^ubuntu/trusty64; then echo "Skip downloading Vagrant box" else echo "Download and convert box" vagrant box add --provider virtualbox ubuntu/trusty64 vagrant mutate ubuntu/trusty64 libvirt fi echo "Check running pool" virsh pool-info default | grep ^State | grep -q running # Workaround for https://github.com/fog/fog-libvirt/issues/16 # vagrant plugin install fog-libvirt --plugin-version 0.0.3 --verbose vagrant up ubuntu vmrun() { vagrant ssh ubuntu -c "$@" } vmrun "sudo apt-get update" vmrun "sudo apt-get install httpie -y" vmrun "echo export LC_ALL=en_US.UTF-8 >> .bashrc" vmrun "echo export LC_CTYPE=en_US.UTF-8 >> .bashrc" vmrun "sudo dpkg-reconfigure locales" vmrun "cd devstack && ./stack.sh" echo -e "\nstack.sh run completed. Showing server-list:\n" vmrun "cd devstack && source openrc admin demo && designate server-list" echo -e "\nRunning functional tests\n" vmrun "cd /opt/stack/designate && tox -e functional -v" echo "Done. Run vagrant ssh ubuntu to log in" designate-6.0.0/contrib/vagrant/local.conf0000666000175100017510000000670713245511330020560 0ustar zuulzuul00000000000000[[local|localrc]] # 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 VERBOSE=True LOG_COLOR=True # Disable all services except core ones disable_all_services enable_service rabbit mysql key # Enable designate enable_plugin designate https://git.openstack.org/openstack/designate # Designate Devstack Config # ========================= # Enable core Designate services enable_service designate,designate-central,designate-api,designate-worker,designate-producer,designate-mdns # Optional Designate services #enable_service designate-agent #enable_service designate-sink # Backend Driver (e.g. powerdns, bind9. See designate.backend section of # setup.cfg) #DESIGNATE_BACKEND_DRIVER=bind9 # Agent Backend Driver (Used only when DESIGNATE_BACKEND_DRIVER=agent) #DESIGNATE_AGENT_BACKEND_DRIVER=fake # 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 #enable_service tls-proxy # Optional Tempest (Recommended) enable_service tempest # Optional Rally #enable_plugin rally https://git.openstack.org/openstack/rally.git master # Optional Horizon #enable_service horizon # Optional Glance #enable_service g-api,g-reg # Optional Nova #enable_service n-api n-cpu n-net n-cond n-sch n-novnc # Optional Neutron #disable_service n-net #enable_service q-svc q-agt q-dhcp q-l3 q-meta designate-6.0.0/contrib/vagrant/Vagrantfile0000666000175100017510000001214413245511330020774 0ustar zuulzuul00000000000000VAGRANTFILE_API_VERSION = "2" GITCONFIG = `cat $HOME/.gitconfig` Vagrant.require_version ">= 1.5" VM_RAM_SIZE = "8192" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.forward_agent = true config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "tcp" config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "udp" config.vm.provider "virtualbox" do |vb, override| vb.customize ["modifyvm", :id, "--memory", VM_RAM_SIZE] if not RUBY_PLATFORM.downcase.include?("mswin") vb.customize ["modifyvm", :id, "--cpus", `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp ] end vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] override.vm.synced_folder "../..", "/opt/stack/designate" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally" end end config.vm.provider :libvirt do |lv, override| lv.graphics_ip = '0.0.0.0' lv.nested = true lv.memory = Integer(VM_RAM_SIZE) if not RUBY_PLATFORM.downcase.include?("mswin") lv.cpus = `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp end override.vm.synced_folder ".", "/vagrant", type: "nfs" override.vm.synced_folder "../..", "/opt/stack/designate", type: "nfs" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient", type: "nfs" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard", type: "nfs" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin", type: "nfs" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade", type: "nfs" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack", type: "nfs" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest", type: "nfs" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally", type: "nfs" end end $script = <