OpenStack DNS As A Service (Designate) Horizon Plugin
Go to file
Ingo Fischer 344d3df219 Fix list zones updated at same time
In case multiple zones have the same update timestamp (updated_at) the
UI did not show any zone and a JS console listed an error
"Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed."
To fix it addTimestampIds needs to get the correct parameter order,
i.e. pass the name of the ID column before the timestamp column name.

Closes-Bug: 1734601

Change-Id: Ib91f873e8f21b71a71b1684317db276b72ae8014
(cherry picked from commit c6d53e4f8a)
2019-12-13 14:33:18 +00:00
designatedashboard Fix list zones updated at same time 2019-12-13 14:33:18 +00:00
doc/source switch from oslosphinx to openstackdocstheme 2017-06-28 17:48:52 -04:00
releasenotes Imported Translations from Zanata 2018-02-11 06:34:39 +00:00
.gitignore AngularJS unittest with Jasmine and Karma 2017-08-24 18:55:52 +05:30
.gitreview OpenDev Migration Patch 2019-04-19 19:45:24 +00:00
.zuul.yaml import zuul job settings from project-config 2018-08-19 00:13:03 +09:00
CONTRIBUTING.rst Added designate-dashboard code to contrib/designate-dashboard 2014-11-26 23:18:15 +00:00
HACKING.rst Added designate-dashboard code to contrib/designate-dashboard 2014-11-26 23:18:15 +00:00
LICENSE Added designate-dashboard code to contrib/designate-dashboard 2014-11-26 23:18:15 +00:00
README.rst AngularJS unittest with Jasmine and Karma 2017-08-24 18:55:52 +05:30
babel-django.cfg Extract strings from django templates 2016-03-24 06:13:15 +09:00
karma.conf.js AngularJS unittest with Jasmine and Karma 2017-08-24 18:55:52 +05:30
manage.py Conform to Consistent Testing Interface 2015-06-20 15:13:30 +01:00
openstack-common.conf Added designate-dashboard code to contrib/designate-dashboard 2014-11-26 23:18:15 +00:00
package.json AngularJS unittest with Jasmine and Karma 2017-08-24 18:55:52 +05:30
requirements.txt Updated from global requirements 2018-01-17 20:30:43 +00:00
setup.cfg rearrange content using the new standard layout 2017-06-28 17:44:26 -04:00
setup.py Updated from global requirements 2017-03-08 22:44:11 +00:00
test Added designate-dashboard code to contrib/designate-dashboard 2014-11-26 23:18:15 +00:00
test-requirements.txt Updated from global requirements 2018-01-24 00:51:35 +00:00
test-shim.js AngularJS unittest with Jasmine and Karma 2017-08-24 18:55:52 +05:30
tox.ini Use stable-queens build of horizon for stable/queens 2018-03-12 22:30:21 +00:00

README.rst

Team and repository tags

image

designatedashboard

Designate Horizon UI bits

  • Free software: Apache license

Features

  • TODO

Howto

  1. Package the designatedashboard by running:

    python setup.py sdist

    This will create a python egg in the dist folder, which can be used to install on the horizon machine or within horizon's python virtual environment.

    -- or --

    Install directly from source by running "python setup.py --install"

    Note: On some systems python may throw an error like

    'Exception: Versioning for this project requires either an sdist tarball, or access

    to an upstream git repository'

    this seems to be a result of mismatched pbr versioning. A hacking workaround for development purposes is replacing the pbr call with a hard-coded version (e.g. '1.0.1') in designatedashboard/__init__.py.

  2. Copy panel plugin files into your Horizon config. These files can be found in designatedashboard/enabled and should be copied to /usr/share/openstack-dashboard/openstack_dashboard/local/enabled or the equivalent directory for your openstack-dashboard install.

  3. Make sure your keystone catalog contains endpoints for service type 'dns'. If no such endpoints are found, the designatedashboard panels will not render.

  4. (Optional) Copy the designate policy file into horizon's policy files folder, and add this config:

    'dns': 'designate_policy.json',
  5. (Optional) Within your horizon settings file(s) (either the local settings or the other settings.py), add the line below. This will make it so the record create/update screen uses a drop down of your floating ip addresses instead of a free form text field:

    DESIGNATE = { 'records_use_fips': True }

Test

  • How to run JS tests:

    • Install npm and nodejs=4.8.4

    $ sudo apt-get install npm $ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - $ sudo apt-get install -y nodejs

    1. npm install (to create virtual environment and install all dependencies in package.json)
    2. npm run lint for eslint
    3. npm run test for JS unit tests