We are glad to announce the release of: sahara-dashboard 5.0.0: Sahara Management Dashboard This release is part of the newton release series. For more details, please see below. 5.0.0 ^^^^^ New Features ************ * Added integration with Designate for hostname resolution. Bug Fixes ********* * Fixed issue with retrieving details for public clusters. Other Notes *********** * Start using reno for release notes management. Changes in sahara-dashboard 4.0.0.0rc1..5.0.0 --------------------------------------------- fdd3a75 Imported Translations from Zanata 99e9396 Imported Translations from Zanata d7ae822 Imported Translations from Zanata 56068e2 Imported Translations from Zanata 0ff74de Allow translators to control word order in templates (again) 8bc78d8 Allow translators to control word order in templates aaf1afa Imported Translations from Zanata c116f3a Fix gate jobs 347257b Imported Translations from Zanata 8b6b41c Update .gitreview for stable/newton 9ee1326 Imported Translations from Zanata 9255e93 Convert to unicode explicitly to avoid UnicodeDecodeError 87f10fe Imported Translations from Zanata 71664a3 Fix Done and Cancel button view in edit tags form fac36c6 Drop unused directory in tox 479c5bf Fix DataSource integration test 2bb9843 Imported Translations from Zanata b7c1592 Imported Translations from Zanata 5a7e0c1 Skip pulling cinder information if cinder api is unavailable 039f024 Improve pulling configs for node groups 6483096 Fix tab navigation in clusters panel 035e1ac Fix bullet lists view 2b900b5 Remove css styles from html templates e9ad390 Updated from global requirements 8ff2ab0 Separate static folder by css and js. cd0d444 Remove unused templates and classes f4de8b1 Fix integration tests 23fbe47 Imported Translations from Zanata c822c02 Add warning to deprecated plugins ac056b3 Imported Translations from Zanata 0c6ea51 Fix "Done" and "Cancel" buttons view in Image Registry form 8fa78b9 plugins api support 21ef43d Updated from global requirements 052ff86 Add pagination ability to UI 14e7237 Updated from global requirements dfcea8c Add warning about usernames to help template 7c9eb9d use xenial ubuntu for integration tests 1a19b88 Move other-requirements.txt to bindep.txt 1eb34dd Designate integration 09a0530 Updated from global requirements 8f3e013 Imported Translations from Zanata 9ea6a04 Fix bug this doesn't work field "Value Type" 13ca93d Small fix in tab Node Groups of Create Cluster Template workflow. 3fe6071 Remove unnecessary class from templates ee83a69 Updated from global requirements 804c548 Add Python 3.5 classifier and venv c3bb378 add py27dj110 testenv 17a24fb [Django 1.10] django.conf.urls.patterns() removed 167b5a9 Delete the requirement package "discover" in the "test-requirements.txt" 6ce9834 Updated from global requirements 5bd39f4 replacing plugins into separate panel 6e6848a fix unit and integration tests d288c54 be safer on retrieving objects 764a7a1 Adding Storm Pyleus job type 7d50e89 remove upload template form 922b1a3 Imported Translations from Zanata c68c298 List system dependencies for running common tests 4d3f93f Updated from global requirements 2026728 Imported Translations from Zanata 03c6802 Fix unit tests 4c2f0f2 Updated from global requirements c06b04b Imported Translations from Zanata aab1ee3 fix sahara-dashboard translation job 7f82f03 Add mitaka page to release notes d4c80bd Fix bug with detailed error on job binary creation c7a4699 fix integration tests deb650b Updated from global requirements 173723f Imported Translations from Zanata 4b43825 Start using reno for release notes b1aadb0 Add column "User" to "Image Registry" tab 221042c fix integration tests again c6dc202 Imported Translations from Zanata cb16ba9 Fix py27dj19 gate job f9e2aa5 Resolve problem about not displayed volumes in cluster template and cluster information. ffccd9d fix integration tests d102b00 Fix gate-sahara-dashboard-python34 job bc74bfc Updated from global requirements eb14832 Imported Translations from Zanata ce9b934 Clean up Image Registry form tag fields 4a67a2c Updated from global requirements 900266a Add testcase 'Run EDP jobs with many types' 3e2d96b Fix node processes view in node groups b6ef14b Updated from global requirements 2e0227b Imported Translations from Zanata 35ab4ab fix unit test failures 299d596 Fix job launching on new cluster df018e9 Imported Translations from Zanata ffbf3a1 Updated from global requirements 1047676 Add testcases 'Update EDP resources' ab99844 Fix job launching with cluster in any state 50e974b Imported Translations from Zanata fd7c36d Updated from global requirements 4666901 Updated from global requirements 61eafa5 Imported Translations from Zanata a790386 Hiding undesired nav-pills 190a9f8 Updated from global requirements 1e7c190 Fixing font and style of close buttons 244c580 Fix time values of cluster provision steps cd5ca6c Uptime column for clusters 0a56b44 Add testcase Update nodegroup in cluster template d6349ff Add testcase 'Update cluster template' e62e516 Add testcase 'Update node group template' 7b37946 Fix job and data sources time values 1922c5d Simplifying plugin select logic 9a8b5ff Add testenv for py34 jobs 92b4e66 Add Django 1.9 testenv 55d1f00 [Django 1.9] request.REQUEST is gone 410f69b Add testcase 'Run EDP job on cluster' a04d534 Add testcase for check cluster scaling c74a18d [Django 1.9] Remove load url from future 287840a Imported Translations from Zanata 710dba5 Add test 'cluster create-delete with fake plugin' Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + bindep.txt | 34 + releasenotes/notes/.placeholder | 0 .../cluster-details-fix-4c53edfa60500d8a.yaml | 3 + .../designate-integration-0c11bb8cc115cf60.yaml | 3 + .../notes/start-using-reno-c29d489e7e7dafc9.yaml | 3 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 259 ++ releasenotes/source/index.rst | 9 + releasenotes/source/mitaka.rst | 5 + releasenotes/source/unreleased.rst | 5 + requirements.txt | 16 +- sahara_dashboard/api/designate.py | 34 + sahara_dashboard/api/sahara.py | 136 +- .../clusters/cluster_templates/forms.py | 54 - .../clusters/cluster_templates/tables.py | 18 +- .../clusters/cluster_templates/views.py | 29 +- .../clusters/cluster_templates/workflows/copy.py | 8 +- .../clusters/cluster_templates/workflows/create.py | 118 +- .../clusters/cluster_templates/workflows/edit.py | 14 +- .../data_processing/clusters/clusters/tables.py | 15 +- .../data_processing/clusters/clusters/tabs.py | 25 +- .../data_processing/clusters/clusters/views.py | 29 +- .../clusters/clusters/workflows/create.py | 7 +- .../clusters/clusters/workflows/scale.py | 4 +- .../clusters/image_registry/forms.py | 3 +- .../clusters/image_registry/tables.py | 1 + .../clusters/image_registry/views.py | 4 +- .../clusters/nodegroup_templates/tables.py | 8 +- .../clusters/nodegroup_templates/views.py | 29 +- .../nodegroup_templates/workflows/create.py | 61 +- .../_cluster_template_configs_details.html | 5 +- .../_config_domain_names_help.html | 12 + .../cluster_templates/_configure_general_help.html | 12 + .../templates/cluster_templates/_details.html | 4 + .../cluster_templates/_nodegroups_details.html | 16 + .../templates/cluster_templates/_upload_file.html | 3 +- .../cluster_node_groups_template.html | 4 +- .../cluster_templates/cluster_templates.html | 11 - .../templates/cluster_wizard/_ngt_select.html | 2 +- .../templates/cluster_wizard/_plugin_select.html | 2 +- .../clusters/_cluster_configs_details.html | 5 +- .../templates/clusters/_create_cluster.html | 3 +- .../clusters/templates/clusters/_details.html | 2 +- .../clusters/templates/clusters/_in_progress.html | 2 +- .../templates/clusters/_nodegroups_details.html | 21 +- .../clusters/templates/clusters/clusters.html | 11 - .../clusters/templates/clusters/index.html | 68 +- .../templates/image_registry/_edit_tags.html | 5 +- .../clusters/templates/image_registry/_help.html | 13 +- .../templates/image_registry/_list_tags.html | 6 +- .../templates/image_registry/_register_image.html | 5 +- .../templates/image_registry/_tag_form.html | 76 +- .../templates/image_registry/image_registry.html | 11 - .../_configure_general_help.html | 12 + .../nodegroup_templates/_service_confs.html | 2 +- .../nodegroup_templates/nodegroup_templates.html | 11 - .../content/data_processing/clusters/urls.py | 161 +- .../content/data_processing/clusters/views.py | 4 +- .../data_processing/data_plugins/__init__.py | 0 .../content/data_processing/data_plugins/panel.py | 27 + .../content/data_processing/data_plugins/tables.py | 53 + .../content/data_processing/data_plugins/tabs.py | 117 + .../templates/data_plugins/_details.html | 20 + .../templates/data_plugins/_label_details.html | 27 + .../templates/data_plugins/_list_versions.html | 10 + .../templates/data_plugins/plugins.html | 11 + .../templates/data_plugins/update.html | 7 + .../content/data_processing/data_plugins/urls.py | 26 + .../content/data_processing/data_plugins/views.py | 78 + .../data_plugins/workflows/__init__.py | 0 .../data_plugins/workflows/update.py | 112 + .../data_processing/jobs/data_plugins/__init__.py | 0 .../data_processing/jobs/data_plugins/tables.py | 36 - .../data_processing/jobs/data_plugins/tabs.py | 67 - .../data_processing/jobs/data_plugins/views.py | 45 - .../data_processing/jobs/data_sources/tables.py | 6 +- .../data_processing/jobs/data_sources/views.py | 16 - .../data_processing/jobs/job_binaries/forms.py | 30 +- .../data_processing/jobs/job_binaries/tables.py | 6 +- .../data_processing/jobs/job_binaries/views.py | 16 - .../data_processing/jobs/job_templates/tables.py | 6 +- .../data_processing/jobs/job_templates/views.py | 20 +- .../jobs/job_templates/workflows/create.py | 20 +- .../jobs/job_templates/workflows/launch.py | 55 +- .../content/data_processing/jobs/jobs/tables.py | 7 +- .../jobs/templates/data_plugins/_details.html | 20 - .../jobs/templates/data_plugins/plugins.html | 11 - .../jobs/templates/data_sources/_details.html | 2 +- .../jobs/templates/data_sources/data_sources.html | 11 - .../jobs/templates/job_binaries/_create.html | 3 +- .../jobs/templates/job_binaries/job_binaries.html | 19 - .../templates/job_templates/_create_job_help.html | 3 +- .../templates/job_templates/config_template.html | 7 +- .../jobs/templates/job_templates/jobs.html | 27 - .../jobs/templates/job_templates/launch_ajax.html | 22 + .../templates/job_templates/library_template.html | 6 +- .../templates/job_wizard/_job_type_select.html | 2 +- .../jobs/templates/jobs/_details.html | 8 +- .../data_processing/jobs/templates/jobs/index.html | 25 +- .../data_processing/jobs/templatetags/__init__.py | 16 + .../content/data_processing/jobs/urls.py | 117 +- .../content/data_processing/jobs/views.py | 9 +- .../content/data_processing/jobs/wizard/views.py | 1 + .../project/data_processing/css/clusters.scss | 13 + .../project/data_processing/css/jobs.scss | 12 + .../data_processing/data_processing.event_log.js | 153 -- .../data_processing.job_interface_arguments.js | 175 -- .../data_processing.verifications.js | 58 - .../js/data_processing.event_log.js | 153 ++ .../js/data_processing.job_interface_arguments.js | 176 ++ .../js/data_processing.job_launching.js | 21 + .../js/data_processing.verifications.js | 58 + sahara_dashboard/content/data_processing/tables.py | 50 + sahara_dashboard/content/data_processing/tabs.py | 33 + .../content/data_processing/utils/anti_affinity.py | 4 +- .../content/data_processing/utils/helpers.py | 70 +- .../data_processing/utils/workflow_helpers.py | 59 +- .../_1820_data_processing_clusters_panel.py | 8 +- .../enabled/_1830_data_processing_plugins_panel.py | 32 + .../enabled/_1840_data_processing_jobs_panel.py | 9 +- sahara_dashboard/locale/cs/LC_MESSAGES/django.po | 1904 ++++++++++++++ sahara_dashboard/locale/cs/LC_MESSAGES/djangojs.po | 92 + sahara_dashboard/locale/de/LC_MESSAGES/django.po | 213 +- sahara_dashboard/locale/de/LC_MESSAGES/djangojs.po | 15 +- sahara_dashboard/locale/django.pot | 2743 -------------------- sahara_dashboard/locale/djangojs.pot | 109 - .../locale/en_GB/LC_MESSAGES/djangojs.po | 93 + sahara_dashboard/locale/fr/LC_MESSAGES/django.po | 61 +- sahara_dashboard/locale/fr/LC_MESSAGES/djangojs.po | 8 +- sahara_dashboard/locale/ja/LC_MESSAGES/django.po | 201 +- sahara_dashboard/locale/ja/LC_MESSAGES/djangojs.po | 16 +- .../locale/ko_KR/LC_MESSAGES/django.po | 204 +- .../locale/ko_KR/LC_MESSAGES/djangojs.po | 16 +- .../locale/pt_BR/LC_MESSAGES/django.po | 62 +- .../locale/pt_BR/LC_MESSAGES/djangojs.po | 8 +- sahara_dashboard/locale/ru/LC_MESSAGES/django.po | 1939 ++++++++++++++ sahara_dashboard/locale/ru/LC_MESSAGES/djangojs.po | 91 + .../locale/zh_CN/LC_MESSAGES/django.po | 257 +- .../locale/zh_CN/LC_MESSAGES/djangojs.po | 17 +- sahara_dashboard/test/helpers.py | 5 + .../data_processing/clusters/clusterspage.py | 107 + .../clusters/clustertemplatespage.py | 148 ++ .../data_processing/clusters/imageregistrypage.py | 8 +- .../clusters/nodegrouptemplatespage.py | 116 + .../data_processing/jobs/datasourcespage.py | 77 + .../data_processing/jobs/jobbinariespage.py | 105 +- .../pages/project/data_processing/jobs/jobspage.py | 71 + .../data_processing/jobs/jobtemplatespage.py | 129 + sahara_dashboard/test/settings.py | 196 +- sahara_dashboard/test/test_data/sahara_data.py | 36 +- sahara_dashboard/test/urls.py | 5 +- sahara_dashboard/utils.py | 71 + sahara_dashboard/version.py | 18 + setup.cfg | 1 + test-requirements.txt | 8 +- tools/gate/integration/commons | 2 + tools/gate/integration/post_test_hook.sh | 22 + tools/gate/integration/pre_test_hook.sh | 15 + tools/pip_install.sh | 46 +- tox.ini | 33 +- 181 files changed, 9134 insertions(+), 4851 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index cdf263f..839b843 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7 +7 @@ pbr>=1.6 # Apache-2.0 -Babel>=1.3 # BSD +Babel>=2.3.4 # BSD @@ -10,5 +10,6 @@ django-compressor>=2.0 # MIT -django-openstack-auth>=2.0.0 # Apache-2.0 -iso8601>=0.1.9 # MIT -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 -python-manilaclient>=1.3.0 # Apache-2.0 -python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0 +django-openstack-auth>=2.4.0 # Apache-2.0 +iso8601>=0.1.11 # MIT +python-designateclient>=1.5.0 # Apache-2.0 +python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 +python-manilaclient>=1.10.0 # Apache-2.0 +python-neutronclient>=5.1.0 # Apache-2.0 @@ -16 +17,2 @@ python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 -python-saharaclient>=0.13.0 # Apache-2.0 +python-saharaclient>=0.18.0 # Apache-2.0 +pytz>=2013.6 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 9b3ac4f..7e5608f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8,3 +8,3 @@ ddt>=1.0.1 # MIT -django-nose>=1.2 # BSD -discover # BSD -mock>=1.2 # BSD +django-nose>=1.4.4 # BSD +reno>=1.8.0 # Apache2 +mock>=2.0 # BSD @@ -16 +16 @@ selenium>=2.50.1 # Apache-2.0 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD