This patch adds angular groups table.
To be added in subsequent patches:
- Actions
- filterFacets
- Integration to Searchlight
To Test
- set 'groups_panel': True in settings.py
- local_settings.py v3 enabled
Co-Authored-By: Cindy Lu <clu@us.ibm.com>
Co-Authored-By: Kenji Ishii <ken-ishii@sx.jp.nec.com>
Co-Authored-By: Shu Muto <shu-mutou@rf.jp.nec.com>
Change-Id: Ifcb3353762ae9d65b73981a4a8d6241273afd16a
Implements: blueprint ng-groups
To ensure project imports are placed after third party import,
we need to specify application-import-names.
Previously flake8-import-check checks only standard imports or not.
Change-Id: I9beb2105f686dc7d9aebfce8e21c5e182698e2fe
The way of setting default panel of project dashboard and admin
dashboard is the "pluggable settings" mechanism, but for identity
dashboard, a traditional "hard-coded" way is used. It's a good
idea to make it consistent with other dashboards.
Change-Id: I52c584b5ef4981ede981385d39615ab8e7922abe
Closes-Bug: #1717932
How to reproduce the bug:
P.S. Using the horizon master(pike) codebase
1) Login as an admin user
2) Click Identity and go to the Users panel
3) Create a user and put an email address with that user
4) Then edit this user to clear the email address.
5) Update the user and even though we have a green banner(successful)
show up, the email address still viewable and do not disappear.
Closes Bug: #1573479
Change-Id: I0273d0c6d885c77f1f74bdc2ae6674d1e6539ac0
This patch fixes a typo when referencing exception message handle
function, the correct function should use the Horizon exceptions
module instead of keystoneclient.
Change-Id: Iaeabf3630351f13f6881b4df489c709fa3ef092f
Closes-Bug: #1701782
Much like the themable selects and checkboxes, number spinners
should also be themable.
Standard number spinners are not very customizable. We should use
existing buttons and fonts to add their functionality to allow a
richer experience if desired downstream.
An example of how to customize the spinner was placed in Material.
The example shows how to use flexbox to change layout type from
column to row, change icon order, and how to override the icons.
'autocomplete' needs to be false on this new element, otherwise
the browser will retain and load the last value without actually
triggering any JavaScript events by which we can key on and update
the state of the spinner buttons.
Change-Id: Ifd266cd515a903841e2d28e2f4731879116e3513
Closes-bug: #1598311
We no longer need to have SG and FIP API wrapper in api.network
as we only supports a single network back-end.
Completes blueprint drop-nova-network
Change-Id: I4e59d897508b497a3cd2ae2fda93b30b786610dc
Previously _get_tenant_(compute|network|volume)_usage are callled
regardless of resources are listed in enabled_quotas.
This commit retrives usage information only for resources listed
in eanbled_quotas.
floating_ips and security_groups were returned even when
they are included in disabled_quotas. They are not needed
and they are cleanup in this commit.
All (*_)QUOTA_FILEDS were previously a list but it is always used
after converting into a set, so this commit changes (*_)QUOTA_FIELDS
into a set in the initial definitions.
This is a preparation for fix of bug 1675504
Partial-Bug: #1675504
Change-Id: I41cdabde477d87aa8b35d1c908e18a69454286c3
If a member role user login and use admin to get keystoneclient,
but he is not a super user, then a notAuthorized exceptions will be raised,
it seems to be unreasonable.
The following actions will throw unauthorized exception.
Go to Users panel, Click user name , Click Change Password,
Submit Change Password form.
Change-Id: I4f6486b92f023ad0daecfff51e3a1ed16b0e78c0
Closes-Bug: #1684475
novaclient 8.0.0 dropped python bindings for security group and
floating IP. This commit drops security group and floating IP logics
from the nova API wrapper.
The following changes are made accordingly.
* Update unit tests to consume neutron test data
* Drop API unit tests for nova security group and floating IP
Partially implement blueprint drop-nova-network
Change-Id: I946c508d7a82162fc8434213e006513867b79350
If create or update group name longer than 64 characters, api will return
'Recoverable error: Group name should not be greater than 64 characters.
(HTTP 400) (Request-ID: req-979dfe60-c461-4fdc-ab6c-61c62ed24ff3)'.
Change-Id: I95a668c5bf24a58930e4d881417b8f732148bc93
Closes-Bug: #1684353
Previously translated messages are included in log messages
and it was determined what language is chosen by users.
It makes difficult for operators to understand log messgaes.
This commit tries to use English messages for all log messages.
The following policies are applied based on the past discussions
in the bug 1406333 and related reviews.
- English messages are used for log messages.
- log messages include exception messages if possible
to help operators identify what happens.
- Use ID rather than name for log messages
as ID is much more unique compared to name.
- LOG.debug() in success code path are deleted.
We don't log success messages in most places and API calls to
back-end services can be logged from python bindings.
Change-Id: Ie554463908327435d886d0d0f1671fd327c0cd00
Closes-Bug: #1406333
If click the name link and go into the details page for the instance, volume, etc.
And attempt to delete. It will pop up a message, but omit the name/id.
Need to add the property of 'data-display' in detail page.
Change-Id: I9c1966dc7942a27903237e2786edbcd2fbd936ea
Closes-Bug: #1680329
The quotas for cinder were being updated even if they were disabled,
resulting in None being sent as the value, and an error being thrown
by the API.
This patch cleans up that code to use the same logic in all three cases
for nova, cinder and neutron.
Change-Id: I73209122df20689eee33da9dccffa994a04a3ec0
Closes-bug: #1671911
This patch adds server side filters to current NG users panel
it also enables the filter first functionality
Look at:https://review.openstack.org/#/c/427794/
Partially-Implements: blueprint ng-users
Implements: blueprint admin-views-filter-first
Change-Id: If0a5e2b38b1076387fd4eb7ff2c01fadb06badc3
Depends-on: Ieeedffbc621291251d50e7d8f254d3ce4def896c
attribute-level imports are not checked by hacking module now.
most noqa is used to disable warnings on attribute-level imports.
This commit drops noqa for this purpose.
After this, there are only 3 noqa under openstack_dashboard/ :)
Change-Id: I4a449802f5dbd6e44e4b8b5c378a555d47d9a99f
As Nova's API is unified to os_compute_api, the API policies are also
updated to use this format, Horizon needs to use Nova policy enforce
rules in the codebase. This patch also update nova_policy.json using
oslo-config-generator for Nova policy file.
Co-Authored-By: Rob Cresswell <robert.cresswell@outlook.com>
Implements: blueprint update-nova-enforce-policies
Change-Id: Id7d01a39930c88592301a5035f0befe5293a78fa
This declaration allows XSS content through the JSON and
is unnecessary for correct rendering of the content anyway.
Change-Id: I82355b37108609ae573237424e528aab86a24efc
Closes-Bug: 1667086
There was an extra variable for the so called "missing"
quotas since 2013. This patch merges them with the
normal nova quotas, cleans up the tests, removes any
usage of that special var and as a side effect, adds
the missing keys to the project quota update page.
Change-Id: Icaac1ebb1749e13fdfc307e89dcc6bbd64bef922
Closes-Bug: 1655393
Use domain_context to decide whether to call domain_list or domain_get
in the list of domains. Previous code used the user's effective domain
instead, which is no longer the same thing with Keystone V3.
Closes-Bug: #1660602
Change-Id: Ie410d282c5b19a061fe83b496785f35bbcfad9ad
Right now the route includes the name 'project'
but we may have details view for 'identity' and
'admin' too, so it should be more general.
Picked just 'ngdetails' instead and moved this out as a
constant. Since this constant needs to be used
by the config blocks, I moved it out into its own
constant module.
Change-Id: I7603250dd70eb40568aa74be2ae4821ee8fcefcc
Closes-Bug: #1641250
Since the existence of a domain token was equivalent with having
selected a domain context with Keystone V2, some code confuses the
two. This is no longer true for Kestone V3, so we have to separate
the two concepts and use domain context when we mean the domain
context.
Close-bug: #1661537
Change-Id: Ifa66d8c397e34d16a4534e7216eb11c752699505
Implemented the "filter first" for the following identity panels:
- Users
- Groups
- Roles
- Projects
The functionality helps horizon not to hang and timeout when there is
a large set of identity resources to display. It can be turned on and
off easily.
In a subsequent patch set the same functionality will be added to
other identity views such as Project > Manage Members
Change-Id: I6e569712fb5159552a27271837cf2629059f5894
Added space between the nav-tabs and tab content on details panels.
Removed the bullet points in front of instance IP addresses
and security groups.
Change-Id: I426e73eca0ef8ac57434631da75cb602674be893
Closes-bug: #1625310
This patch adds the domain table to the identity domains panel
adn domain detail page.
Actions will be added in subsequent patches.
To test this patch, it needs to show domain panel and enable angular
feature for domain panel.
To show domain panel (after installing OpenStack with latest Devstack).
- using backends except signed cookie as SESSION_ENGINE in local_settings.py.
e.g memcached
----
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
----
- enable OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT in local_settings.py
----
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
----
After that, if admin user logged in, the user could see Domain panel and
could operate actions for domains like Create.
To test this patch, after above, set 'domains_panel': True in 'ANGULAR_FEATURES'.
Change-Id: Ib15e25a4cebe6de83f1c2f427490d5850d36b908
Partially-Implements: blueprint angularize-identity-tables
supports v3 domain details
To Test
- set 'users_panel' to True in settings.py
Co-Authored-By: Cindy Lu <clu@us.ibm.com>
Partially-Implements: blueprint ng-users
Change-Id: I2f8826b2e115dbb6843782cbfcf04d9639f26f98
To test set 'roles_panel' to True in settings.py
and have v3 enabled
Change-Id: Id02349a539f12dfe86924a075c62ba190999724d
Co-Authored-By: Richard Jones <r1chardj0n3s@gmail.com>
Partially-Implements: blueprint ng-roles