summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Add Python 3 only classifierTakashi Kajinami2022-02-082-0/+2
| | | | | | | | | | | | | | | | | | | | | Python 2 support was removed during Ussuri cycle. This change adds the classifier to clearly state that only Python 3 is supported. Change-Id: I51552cadaed82b29dcd10043ba23a0682e549156
* | | Merge "doc: Update setup file examples in the plugin tutorial"Zuul2022-03-081-15/+7
|\ \ \ | |/ /
| * | doc: Update setup file examples in the plugin tutorialTakashi Kajinami2022-02-081-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates the examples of setup.py and setup.cfg to reflect the recent changes. - Replace dashes by underscores in setup.cfg. Since setuptools v54.1.0[1], the parmeters with dash have been deprecated in favor of the new parameters with underscore. - Update python versions in setup.cfg to match the current supported versions of python in OpenStack Yoga. - Change the homepage URL in setup.cfg from horizon URL to a notice. - Drop a workaround for python <2.7.4 in setup.py. - Update the pbr requirement in setup.py - Drop the unnecessary comment not to edit it as setup.py is not synced globally. [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb Co-Authored-By: Akihiro Motoki <amotoki@gmail.com> Change-Id: Id38299245f31d2db17fb1b74d60cf1232ee4a509
* | | Merge "Change to a proper policy for Resume operation"Zuul2022-03-072-1/+7
|\ \ \
| * | | Change to a proper policy for Resume operationKeigo Noha2022-03-042-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, ToggleSuspend class checked 'os-rescue' policy for resuming an instance. To align to resume operation, this fix changes to 'os-suspend-server:resume'. Closes-Bug: #1963652 Change-Id: If6386ecdb81fb1f0d88dab447ee81c251b9857b7
* | | | Avoid extra flavor_get in resize server formAkihiro Motoki2022-03-043-31/+13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | commit d269b1640f49e13aa1693a175083d66a3eaf5386 fixes the bug on the resize server form, but it introduced an extra flavor_get call even when we retrieve the list of flavors. This commit recovers the previous behavior that we first looks up the list of flavors. Related-Bug: #1940834 Change-Id: I891aa6b8652f330326535732d0886362dfabb989
* | | Merge "Create Horizon session control logic"Zuul2022-03-037-0/+144
|\ \ \
| * | | Create Horizon session control logicHugo Brito2022-02-287-0/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Multiple Simultaneous Logins Control is a feature designed for securing Horizon dashboard sessions. The default Horizon configuration allows the same user to login several times (e.g. different browsers) simultaneously, that is, the same user can have more than one active session for Horizon dashboard. When there is the need to control the active sessions that one user can have simultaneously, it will be possible to configure the Horizon dashboard to disallow more than one active session per user. When multiple simultaneously sessions are disabled, the most recent authenticated session will be considered the valid one and the previous session will be invalidated. The following manual tests encompass both simulteaneous session control configuration: 'allow' and 'disconnect' and were verified with this code change before submitting it: Test Plan: PASS: Verify that a user is able to login to Horizon dashboard (when configuration is 'disconnect') PASS: Verify that a user is able to start a second Horizon dashboard session and the first session is finished (when configuration is 'disconnect') Failure Path: PASS: Verify that when a user fails to authenticate a second Horizon dashboard session the first session stills active (when configuration is 'disconnect') Regression: PASS: Verify that a user is able to login to Horizon dashboard (when configuration is default: 'allow') PASS: Verify that a user is able to start multiple simultaneous Horizon dashboard sessions (when configuration is default: 'allow') Implements: blueprint handle-multiple-login-sessions-from-same-user-in-horizon Signed-off-by: Hugo Brito <hugo.brito@windriver.com> Co-authored-by: Thales Elero Cervi <thaleselero.cervi@windriver.com> Change-Id: I8462aa98398dd8f27fe24d911c9bfaa7f303eb93
* | | | Merge "Address RemovedInDjango40Warning (2)"Zuul2022-03-03346-529/+529
|\ \ \ \ | | |_|/ | |/| |
| * | | Address RemovedInDjango40Warning (2)Akihiro Motoki2022-02-04346-529/+529
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | django.utils.translation.ugettext(), ugettext_lazy(), ugettext_noop(), ungettext(), and ungettext_lazy() are deprecated in favor of the functions that they’re aliases for: django.utils.translation.gettext(), gettext_lazy(), gettext_noop(), ngettext(), and ngettext_lazy(). https://docs.djangoproject.com/en/4.0/releases/3.0/#id3 Change-Id: I77878f84e9d10cf6a136dada81eabf4e18676250
* | | | Merge "Fix Project Limits for resize instance dialog"Zuul2022-02-281-20/+20
|\ \ \ \
| * | | | Fix Project Limits for resize instance dialogTatiana Ovchinnikova2022-01-311-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resize instance dialog should use proper calls for quota and usage. This patch fixes that. Change-Id: Ied6fd4ad69b38a721b23700c98344e0edf14771b
* | | | | Merge "Add a Note Under Install and configure Section in documentation"Zuul2022-02-254-0/+24
|\ \ \ \ \
| * | | | | Add a Note Under Install and configure Section in documentationmanchandavishal2022-01-194-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a note to use keystone port 5000 while configuring horizon for all distros like ubuntu/debian/rdo/obs under the install and configure section. Right now if a user tries to set up an OpenStack env. manually using documentation [1], [2] leads to some confusion because keystone documents suggest creating keystone endpoint at http://controller:5000/v3/ rather than http://controller/v3/ while horizon document consider keystone doesn't run at 5000 port updated by [3]. Closes-Bug: #1910476 Closes-Bug: #1926096 Closes-Bug: #1950919 Closes-Bug: #1956437 Closes-Bug: #1892279 Closes-Bug: #1903320 Change-Id: I18d0d2105ea54ba02f8979ab7a15a75a0425b8c7 [1] https://docs.openstack.org/keystone/latest/install/keystone-install-ubuntu.html#install-and-configure-components [2] https://docs.openstack.org/horizon/latest/install/install-ubuntu.html#install-and-configure-components [3] https://review.opendev.org/c/openstack/horizon/+/697406 Change-Id: I537a963c9d955b8d7e21f0d05b0197588907419e
* | | | | | Merge "Get ports directly instead of via loop"Zuul2022-02-252-11/+21
|\ \ \ \ \ \
| * | | | | | Get ports directly instead of via loopNicolas Bock2022-02-242-11/+21
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to get a list of available ports, the current implementation of the form code in `project/instances/attach_interface` loops through the available networks in the project and requests a list of ports for each via the Neutron API. This implementation is O(N) in time with a large prefactor (the time for a Neutron API call) where N is the number of networks. Instead of calling the Neutron API for each network this change uses one call to the Neutron API to get the list of ports on all networks and filters this list via a list comprehension. While this implementation is still O(N) the prefactor is significantly smaller. Closes-Bug: #1943639 Change-Id: I8fd32c3aad22d8ef7f57201f5144f6b2e357ef10 Signed-off-by: Nicolas Bock <nicolas.bock@canonical.com>
* | | | | | Merge "Follow-up: Drop Django launch instance (part 2)"Zuul2022-02-251-3/+0
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | |
| * | | | | Follow-up: Drop Django launch instance (part 2)Akihiro Motoki2022-02-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is another follow-up of dropping the django version of the launch instance form. ResizeInstance workflow was cleaned up as a follow-up in [1] and "config_drive" field no longer exists. This commit drops an unnecesary check for "config_drive" field in UT. [1] https://review.opendev.org/c/openstack/horizon/+/826262/ Change-Id: Ic3c458f70b146299f41a3ac02b78ddc156e02d93
* | | | | | Merge "Integration tests: Allow to run a specific test from tox"Zuul2022-02-231-1/+1
|\ \ \ \ \ \
| * | | | | | Integration tests: Allow to run a specific test from toxAkihiro Motoki2022-02-161-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the path of the integration tests was specified explicitly in tox.ini and we cannot run a specific test from tox. {posargs} existed in the previous command line, but it can be used only to specify extra options and we cannot change the test path, so the whole integration tests are always run. It can be solved by passing the integration test path as the default value of {posargs}. The most possible case where we would like to change the test command is to run a specific set of tests instead of the whole tests, so I believe this solution would work. Change-Id: Ifa478a360a8af8b3d959de7ec632eedef484391d
* | | | | | Imported Translations from ZanataOpenStack Proposal Bot2022-02-2247-10050/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I1efeebbc45fe158cf39dbef9a0ca3cfd90daca3c
* | | | | | Merge "Add Rules operation to Network QoS Policy"Zuul2022-02-2126-14/+3259
|\ \ \ \ \ \
| * | | | | | Add Rules operation to Network QoS Policyzitptan2022-02-1726-14/+3259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added create, edit, and delete rules operation to the network qos policy. Rules: Minimum-Bandwidth, DSCP-Marking, and Bandwidth-Limit, Minimum-Packet-Rate Partially-Implements: https://blueprints.launchpad.net/horizon/+spec/create-network-qos-policy Change-Id: I49058036f1d78ef022d966f6b375cdc984755813
* | | | | | | Merge "Address RemovedInDjango40Warning (1)"Zuul2022-02-2018-55/+53
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | Address RemovedInDjango40Warning (1)Akihiro Motoki2022-01-3118-55/+53
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | force_text() is deprecated in favor of force_str() smart_text() is deprecated in favor of smart_str() https://docs.djangoproject.com/en/4.0/releases/3.0/#django-utils-encoding-force-text-and-smart-text Change-Id: Ic462fa8c3dfa26e8196df19fef5044036a9e97b4
* | | | | | Merge "Implement pagination in admin/proj network tab"Zuul2022-02-2013-134/+1572
|\ \ \ \ \ \
| * | | | | | Implement pagination in admin/proj network tabRodrigo Barbieri2022-02-1613-134/+1572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added pagination support to the networks page under Project and Admin Dashboard. To accomplish so, the method network_list_for_tenant in api/neutron.py that is used for listing networks under the Project Dashboard was refactored to merge the different requests for shared, non-shared and external networks while tracking the pagination for each of those requests, so for instance when all the shared networks are listed and paginated then the non-shared networks are queried and so on. For the Admin dashboard all network types are retrieved under a single request so it is a simpler pagination logic. Partial-Bug: #1746184 Change-Id: I96a2d6cabed47c89bdc02ec922d7f9451e5ec025
* | | | | | | Merge "Fix for "Resize instance" button"Zuul2022-02-175-31/+113
|\ \ \ \ \ \ \
| * | | | | | | Fix for "Resize instance" buttonVadym Markov2022-02-165-31/+113
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, "Resize instance" widget is not working because it relies on legacy Nova API v2.46, obsoleted in Pike release. Proposed patch make Horizon use current Nova API (>=2.47). Closes-Bug: #1940834 Co-Authored-By: Akihiro Motoki <amotoki@gmail.com> Change-Id: Id2f38acfc27cdf93cc4341422873e512aaff716a
* | | | | | | Merge "Add a unit test for the password change form"Zuul2022-02-161-0/+85
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Add a unit test for the password change formRadomir Dopieralski2022-02-141-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I5eeacefc3a0bd7d7f958f00befeb18e949c789db
* | | | | | | Merge "Mark "Source" tab in the launch instance form as required"Zuul2022-02-151-0/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Mark "Source" tab in the launch instance form as requiredTatiana Ovchinnikova2022-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The boot source must be specified to launch instance. This patch adds a validation for the allocated sources table length and marks "Source" tab with asterisk. Closes-Bug: #1920004 Change-Id: Ifec3bca94845b5d19c37b4c2844f1a983ad9365b
* | | | | | | Merge "Update default value of OPENSTACK_KEYSTONE_DEFAULT_ROLE"Zuul2022-02-105-9/+19
|\ \ \ \ \ \ \
| * | | | | | | Update default value of OPENSTACK_KEYSTONE_DEFAULT_ROLEmanchandavishal2022-01-175-9/+19
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch update default value of OPENSTACK_KEYSTONE_DEFAULT_ROLE to 'member' from '_member_'. If a user tries to create a new project now it leads to "Could not find default role "_member_" in Keystone" error. Also long time ago keystone-bootstrap changed the default member role that is created to member from the legacy _member_ role. Any deployments that might still be using _member_ should set this explicitly. Closes-Bug: #1957173 Change-Id: I1fc7f44326b82ceb303f8d663ff0b42f0bdf7855
* | | | | | | Merge "Replace deprecated imp module"Zuul2022-02-091-10/+3
|\ \ \ \ \ \ \
| * | | | | | | Replace deprecated imp moduleTakashi Kajinami2022-02-081-10/+3
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The imp module is deprecated since Python 3.4[1] in favor of the new importlib module. This change replaces usage of that deprecated module. [1] https://docs.python.org/3/library/imp.html NOTES: - This change simplifies the logic, assuming the DJANGO_SETTINGS_MODULE environment should be a module name. (The previous implementation eventually raises an exception if the name is not a module name but anything else like a class name.) - The imp.find_module method raises ImportError when the module is not found. This means the previous implementation never returns sys.path[0]. If the module is found the value is replaced and if it is not found then the method doesn't return any value but raises an exception. Change-Id: I798f345e729ae974917872ba1f2e43205a660c45
* | | | | | | Merge "Fix getting defaults from cookie for region field in password form"Zuul2022-02-082-4/+4
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | |
| * | | | | | Fix getting defaults from cookie for region field in password formRadomir Dopieralski2022-02-042-4/+4
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the normal form doesn't have a request attribute, we have to pass the initial value for the region from the view. Change-Id: Icea647ad13718b74528922f362ad665be1392e9b Closes-bug: #1957926
* | | | | | Merge "Make stack template page handle session expiration"Zuul2022-02-071-0/+5
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Make stack template page handle session expirationVadym Markov2022-01-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, stack template diagram ignores user session timeout and silently tries to update diagram data getting 401 response for the every request. Proposed patch redirects to logout if Heat API returns 401 or 403 Closes-Bug: #1952112 Change-Id: I5a389e5fd04ff07cd0821712a56a319e21d91891
* | | | | | Merge "Modified the image page to use CSS class"Zuul2022-02-031-2/+1
|\ \ \ \ \ \
| * | | | | | Modified the image page to use CSS classWei Lingfei2021-10-081-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pages can not display normal when language is Simplified Chinese(zh-cn), a row in the table can display only one Chinese character. Remove "width: 100%" rule from the "word-wrap" class. The page should now display normally. Partial-Bug: #1936830 Change-Id: If72d49c78a9f83687785a1225151d819b85e88d2
* | | | | | | Merge "Follow-up: Drop Django based implementation of launch instance"Zuul2022-02-028-93/+5
|\ \ \ \ \ \ \
| * | | | | | | Follow-up: Drop Django based implementation of launch instancemanchandavishal2022-01-318-93/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a follow-up patch addressing the below comments given on the commit 6ac31e0 : * delete unused template files. * Drop "config_drive" option and related code from resize instance step because it need to show only for Launch Instance. * grammer correction in the release note Change-Id: I9ab52927fc6be31d491f010e5e3d9323ddd34e9e
* | | | | | | | fix ValueError: invalid content length with swift over UWSGIThomas Goirand2022-01-311-1/+2
| |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're using Swift over UWSGI, with the correct UWSGI parameters. That is: plugins = python3,transformation_chunked http-auto-chunked = true http-chunked-input = true http-raw-body = true route = .* addheader:Date: ${httptime[]} route-run = chunked: wsgi-manage-chunked-input = true In this mode, the Content-Length: header may not be present, and instead, swift provides a Transfer-Encoding: chunked. This isn't what Horizon expects, and this leads to Django crashing with a Content-Length set to None. This very simple patch skips populating Content-Length if the swift object has its obj.bytes set to None. Change-Id: I602709b8eaf2368dbdb1a9ce6ed84b031c5b0b4d
* | | | | | | Merge "Drop Django based implementation of launch instance"21.0.0Zuul2022-01-2522-3211/+96
|\ \ \ \ \ \ \ | |/ / / / / / | | | / / / / | |_|/ / / / |/| | | | |
| * | | | | Drop Django based implementation of launch instancemanchandavishal2022-01-2422-3211/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | horizon already deprecated launch instance Django based implementation in the wallaby cycle [1]. This patch remove code for launch instance Django based implementation as angular based implementation is the default one from long and all features gaps between angular and Django implementation is closed. It also moves SetAdvanced step code to ``resize_instance.py`` as ``workflows/create_instance.py`` file is deleted and remove server_group option from Advanced Options of resizing instance action because "server_group" is not required while resizing an instance as per nova-api reference [2]. Closes-Bug: #1869222 [1] https://review.opendev.org/c/openstack/horizon/+/779125 [2] https://docs.openstack.org/api-ref/compute/?expanded=resize-server-resize-action-detail#resize-server-resize-action Change-Id: I5e01cd81f309491f1a58ea93911030366a86e3c7
* | | | | | Fix hardcoded link error in sphinx 4.4.0manchandavishal2022-01-219-34/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | horizon doc job is failing because sphinx 4.4.0 raise an error for the hardcoded extlinks link [1]. This patch fixes those links to unblock the doc gate job. Closes-Bug: #1958290 Co-Authored-By: Akihiro Motoki <amotoki@gmail.com> [1] https://github.com/sphinx-doc/sphinx/pull/9800 Change-Id: Ica1a16522421a697efdab882afe6d9c08ff05e0b
* | | | | | Merge "Fix maximum recursion depth error when generating documentation"Zuul2022-01-181-1/+4
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | |