1050 Commits

Author SHA1 Message Date
Zuul
211c543fa4 Merge "Support include_names argument for keystone role assignement list" 2017-11-11 08:43:22 +00:00
Zuul
1ffd2ec150 Merge "Add delete action for key pair" 2017-11-08 11:29:24 +00:00
Zuul
ed6a22b0fd Merge "Support security groups association per port" 2017-11-08 08:39:24 +00:00
Sam Morrison
e98eb20555 Support include_names argument for keystone role assignement list
This has been supported in the keystone API since version 3.6
Although not used in horizon (yet) some third party plugins may
require this.

Closes-Bug: #1729449

Change-Id: I961c1681b757134037ae767ac750afa36476d630
2017-11-01 21:50:59 +00:00
Shu Muto
e7f22178b2 Add delete action for key pair
This patch adds delete actions for angularized key pair panel.

Change-Id: Iccb5014add0e19d6154bd6261d97a83b2ecdf32f
Partial-Implements: blueprint ng-keypairs
2017-11-01 14:53:04 +09:00
Trygve Vea
af9505f1d5 Remove unused API function from Nova API
os-virtual-interfaces is part of nova-network, which Horizon does not support.
No code in Horizon is using this function, and it is no longer necessary.

Change-Id: I118c81db1e581487384677aa0b0020dd35001a29
2017-10-28 20:25:13 +00:00
liyingjun
2161b91264 [Micro version] Support description for instance
In Nova Compute API microversion 2.19, you can specify a “description”
attribute when creating, rebuilding, or updating a server instance. This
description can be retrieved by getting server details, or list details
for servers, this patch adds support for this attribute for instance in
horizon.

Change-Id: Ic9217234021d236aee8295915f1a9c3c544396b0
Implement-blueprint: support-description-for-instance
2017-10-26 22:36:00 +08:00
Trygve Vea
edcd22244f Add a checkbox to disable SNAT on routers
When creating a router, or when setting a gateway on a router - a checkbox
is displayed, which can be unchecked to disable SNAT.

Change-Id: I8bc040018645fe2bde534b7d48e14c17984cc9c4
Closes-bug: #1673076
2017-10-23 16:10:48 +00:00
Zuul
1fdfcf52e9 Merge "Fetch Cinder availability zones list for volume creation" 2017-10-23 13:34:55 +00:00
Ivan Kolodyazhny
b9972f73b0 Fetch Cinder availability zones list for volume creation
We have to fetch and show Cinder availability zones list during volume
creation and volume creation from image.

Change-Id: I1c8746870d94c183f5ef510c1ce09b3fc9c84220
Closes-Bug: #1721286
2017-10-23 14:25:04 +03:00
Zuul
842e2cdd0c Merge "Hide IPv6-addresses when assigning floating IP addresses" 2017-10-21 00:38:17 +00:00
Kenji Ishii
e9db12382e Support security groups association per port
This patch support operation for operators and project users to
associate security groups to a port. The feature is mentioned at
the neutron user feedback session in Barcelona summit [1].

This function UI is same as the function of security groups
association per instance. To realize this, the way of implementation
for 'Edit port' is changed, which move from a single modal to a
workflow base.

[1] https://etherpad.openstack.org/p/ocata-neutron-end-user-operator-feedback (L.35+)

Also we need to display how security groups is associated at a port.
At the moment, there is not way to be able to see it (only this function).
It should be done as an another patch.

Change-Id: I96e0fafdffbf05b8167ec1b85f7430176fdaab90
Closes-Bug: #1637444
Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
2017-10-20 23:57:40 +00:00
Trygve Vea
9d5be5251f Hide IPv6-addresses when assigning floating IP addresses
A floating IP can only be associated with an IPv4 address, so we should
not show IPv6 addresses in the list of ports when assigning floating IP
addresses.

Change-Id: I7b39a263445204a9efbc8fe113cc79146d9bee8c
Closes-Bug: #1703360
Closes-Bug: #1724393
2017-10-20 21:30:27 +00:00
Trygve Vea
b9664a1bf1 Routers can be created with availability zone
When 'availability_zone'-extension is enabled, we present the user with
a drop-down menu containing a list of available availability zones.
This sets the 'availability_zone_hints' parameter on router creation.

Change-Id: I96293202ddd855823e89c4c7ba0b1f6a6423aab2
Partial-bug: #1716638
2017-10-19 11:53:39 +02:00
Cindy Lu
924fb68645 Add REST APIs for Keystone Group
This patch adds REST APIs (read, create, edit, delete)
for Keystone Group.

Change-Id: I9ca3b509bcd6ab3f255094fa367f9b236caf13da
Partially-Implements: blueprint ng-groups
Co-Authored-By: Shu Muto <shu-mutou@rf.jp.nec.com>
2017-10-10 13:35:52 +09:00
Jenkins
631df03dfe Merge "Angularize Key Pair Details" 2017-10-07 04:47:13 +00:00
Jenkins
bc80696cd8 Merge "Do not call servers_update_addresses if no instances loaded" 2017-10-06 11:45:03 +00:00
Jenkins
1eb61ef506 Merge "Do not fail on AdminUpdateRow if tenant is not found" 2017-10-05 14:28:20 +00:00
Jenkins
69ba91c9cf Merge "Add cache for get_microversion() against Nova" 2017-10-05 13:28:16 +00:00
Feilong Wang
fa2e8327b9 Add cache for get_microversion() against Nova
Actions "Lock" and "Unlock" of instance on instances table are calling
api.nova.is_feature_available() to check if the feature is supported
by current Nova server. Unfortunately, the function get_microversion()
called by is_feature_available() is not cached, which is causing about
40 unnecesary REST API calls. If the Nova's version is under Mitaka,
it could be even worse, about 80 unnecesary API calls, see
openstack_dashboard/api/nova.py#L60 and
novaclient/v2/versions.py#L47 for more details.

Closes-Bug: #1721423

Change-Id: Ie96b1a35e379d4cf407bfd53b1ee734178f9cb07
2017-10-05 14:37:38 +13:00
Ivan Kolodyazhny
65baa5fa6d Do not fail on AdminUpdateRow if tenant is not found
We still can show instance info on admin/instances page even if tenant
is deleted or we can't retrieve tenant's information.

Change-Id: Idb1a5ffbb4103cce5258657d559bf4fe784b98d6
Closes-Bug: #1712565
2017-10-04 23:04:35 +03:00
Shu Muto
194c881396 Angularize Key Pair Details
This patch adds Angularized details view for Key Pair.
Also, added new filter 'mediumDate' that format date as follow:
e.g) Feb 3, 2001 4:05:06 PM

Change-Id: I1eaead66a582c15442b28ae83fb1c573a46b0f43
Partial-Implements: blueprint ng-keypairs
2017-09-28 16:57:49 +09:00
Akihiro Motoki
af3b7e4134 flake8-import-order: Ensure to place project imports last
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
2017-09-20 01:19:38 +00:00
Akihiro Motoki
61ad9f69bd Fix a bug to unable to retrieve ports when no trunk ext
When neutron trunk extension is not enabled, we cannot retrieve
network ports for a new instance. The current version of
port_list_with_trunk_types assumes the trunk extension is always
available, so if it is not enabled we cannot retrieve network ports.
This commit changes the logic to check whether the trunk extension
is enabled and if not it does not retrieve trunk information.

Change-Id: I2aa476790820f9512fe4728e0a806bd543021b0b
Closes-Bug: #1717893
2017-09-19 18:01:52 +00:00
Jenkins
5787b0adc5 Merge "Fix wrong links in horizon" 2017-09-12 16:15:42 +00:00
yanghuichan
c1d91d21a4 Fix wrong links in horizon
Some docs links have changed.
We should update the wrong links in our codes.

Change-Id: Ia726eaa4d3154a4152d1f685349de98386f42ef0
2017-09-12 15:23:26 +08:00
Jenkins
b624d2f0aa Merge "TrunkPort, Horizon workflow: launch instance" 2017-09-07 09:00:39 +00:00
Jenkins
5428b96c2c Merge "Get all needed instances for volumes attachments at Admin->Volumes" 2017-09-05 11:53:52 +00:00
Ferenc Cserepkei
748d9860bb TrunkPort, Horizon workflow: launch instance
Ethernet trunks (network interfaces having a vlan tag) cannot be used
as a boot interface. This is a DHCP/PXE limitation. So instead the
interface without the vlan tag can be used. In neutron's nomenclature
they are the trunk parents. It is also an OpenStack limitation. Subports
should not be passed to 'openstack server create --nic ...'. But if you
do, there's no clear error message about it. Please see Armando's
analysis here why:
https://bugs.launchpad.net/neutron/+bug/1636485/comments/9

The server part of this patch signals port kind (i.e. plain, trunkparent,
trunksubport) so the launch widget can easily filter out trunksubports,
what are not suitable for boot interface.

Change-Id: Ie3a6710eeffefcb472c569898d0f1f1554e599f7
Partially-Implements: blueprint neutron-trunk-ui
Signed-off-by: Ferenc Cserepkei <ferenc.cserepkei@ericsson.com>
2017-08-31 21:33:56 +00:00
Ivan Kolodyazhny
f61d41384b Do not call servers_update_addresses if no instances loaded
We don't need to call neutron's servers_update_addresses on instances
page if no instances are shown.

Change-Id: I98b595e443603f1409336ce61811c0ae3cbd2b21
2017-08-22 22:59:44 +03:00
Akihiro Motoki
15d996f7e4 Allow admin to create port on networks of different projects
Due to the change in the neutron API wrapper [1],
admin cannot create a port on networks owned by different project.
This is because api.neutron.network_get returns subnet detail
(Subnet object) only when project_id matches that of a target network.
This commit changes the logic to try to retrieve subnet detail first.
The condition is not simple and it looks wise to let neutron decide it.

The error reported in the bug also happens in the Port Create form
in the project dashboard if a user tries to create a port on an
external network. To handle the situation, handle() in CreatePort form
honors whether subnet detail is retrieved or not by checking a subnet
information is an instance of api.neutron.Subnet class.
This is a bit tricky but considering the current policy for create_port
I believe it is a good compromise.

Also fixes the wrong initial value of 'specify_ip' field of CreatePort
form. The initial value should be one of choices or None. Otherwise,
when 'specify_ip' field is hidden, an error message is returned
(though the message is not visible in the form), a user cannot submit
the form and the form is displayed continuously....

[1] commit 803209e237ea2987cfa2fad5f0e07a8c30d6d901

Closes-Bug: #1645708
Change-Id: I6aae0a29eedebc920247912fec0729bf47cda002
2017-08-21 10:30:12 +00:00
Jenkins
609bf8fbc9 Merge "Refactor the current UpdatePort form to workflow version" 2017-08-16 04:05:10 +00:00
Artem Tiumentcev
0723e60edf Fix Python 3 issues with serialization json from request
Closes-Bug: #1710114
Change-Id: I2c6e2fe24fb8c5b47f36613e9791004a01456ae3
2017-08-11 12:13:56 +03:00
Kenji Ishii
5aab8bf508 Refactor the current UpdatePort form to workflow version
This patch change UpdatePort form to workflow in order to
be able to add extra tabs like the setting of security groups.
Originally, this work is a part of the subsequent patch
"Support security groups association per port",
but the changes are big so it is divided into two patches.
This patch focuses on refactoring the existing implementation
from the form to the workflow.

Change-Id: Id42b311242b66ee25e8870ed86e45b5464e19c01
Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Related-bug: #1637444
2017-08-09 12:41:16 +00:00
Jenkins
caa098f1bd Merge "api.rest.neutron: Ensure dict is passed to api.neutron args" 2017-08-09 02:37:05 +00:00
Akihiro Motoki
0c1e179b3c api.rest.neutron: Ensure dict is passed to api.neutron args
Some functions in api/neutron use @memoized decorator,
but @memoized decorator cannot handle request.GET (an instance of
QueryDict) because a weakref to WSGIRequest is not hashable.
(Note that @memoized decorator can handle a dict itself)

What we actually need is the content of request.GET.
By using .dict() method we can ensure arguments which
@memoized can handle are passed to api.neutron functions.

This pattern is used only in api.rest.neutron and
not used in other codes.

Closes-Bug: #1706348
Change-Id: Ibb38ad1d95af1cd90a1fedd834602f444010c151
2017-08-08 16:58:27 +00:00
jimmygc
4214fc2d75 Clean /tmp after upload when using glance v2 client
When using glance v2 client, it will leave an upload
tmp file in /tmp folder, which will cause upload error
if its filesystem (in memory) is full.

Change-Id: I0a7267db894e7be4216a346752d299132df9a29a
Closes-Bug: #1689694
2017-08-04 10:54:51 +08:00
Jenkins
1054b2710d Merge "Save image name in Server.image_name method" 2017-08-03 03:37:00 +00:00
Jenkins
adb2583e90 Merge "Fix missing volume name on launch instance modal" 2017-08-02 21:06:16 +00:00
Lajos Katona
da92f24bc2 Trunks panel: details for trunks and subports
Add details link to the trunk panel to show details of the given trunk,
like the subports list, with port_id and segmentation details.

Co-Authored-By: Bence Romsics <bence.romsics@ericsson.com>
Change-Id: I9000e2907a8f188d5e72e36818b7171f35158eb9
Partially-Implements: blueprint neutron-trunk-ui
2017-07-27 10:48:55 +02:00
Beth Elwell
b81c5901cd Add details to network_qos panel
This patch adds details drawer summary to network_qos panel to show
policy descriptions and details page with further information and
associated rules.

Implements: blueprint network-bandwidth-limiting-qos

Change-Id: I1a8032206b576cf8dad5f75077bac7a093971973
2017-07-24 13:07:44 +01:00
Ying Zuo
b00f8a603a Fix missing volume name on launch instance modal
The Volume object passed back from cinder doesn't have the name
for volumes created with an instance. It should be passed in to
api.cinder.Volume to get the name properly.

Change-Id: I2a812c898f601c741f232419f96bf93f3965bf81
Closes-bug: #1702966
2017-07-23 20:21:32 -07:00
Ivan Kolodyazhny
3a99499ba0 Get all needed instances for volumes attachments at Admin->Volumes
Nova server_list() wrapper needs to receive an explicit `all_tenants`
boolean flag in order to request instances for _all_ tenants -
otherwise while rendering Admin->Volumes table Django will request
missing instances (to get their names for volume attachments) one by
one, thus significantly increasing response time.

This patch adds check if all_tenants in search_opts and add it to
the search else uses tenant_id in the search_opts.

Co-Authored-By: Dmitry Sutyagin <dsutyagin@mirantis.com>
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Change-Id: I4761d7da15036b69619649871aef91e1799ee385
Closes-Bug: #1508568
2017-07-13 20:35:21 +03:00
Jenkins
83c77d152b Merge "Use flake8-import-order plugin" 2017-07-03 20:14:35 +00:00
Jenkins
deeeb27981 Merge "Split out FWaaS dashboard" 2017-07-03 11:12:02 +00:00
Jenkins
71e66fe4d8 Merge "Split out VPNaaS dashboard" 2017-07-03 11:03:12 +00:00
Akihiro Motoki
e6b78f92f2 Use flake8-import-order plugin
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
This flake8 plugin is already used in tempest.
It enforces loose checking so it sounds good to use.

Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.

Change-Id: I8ccd05eb70350a2441cc2a4d1eafc09ee690b83b
2017-07-03 08:02:23 +00:00
Radomir Dopieralski
45665406b4 Prefer volumev3 and volumev2 endpoints over volume
Make cinderclient use volumev3 or volumev2 endpoints, before
falling back to the volume endpoint, otherwise Horizon is
trying to use the v1 API, and that doesn't work with the
"sort" parameter that we are using, resulting in an empty
volumes list.

Change-Id: Id03988d89000c4bc976090c68a41ee320b9d43f7
Closes-bug: #1700977
2017-06-30 16:06:55 +02:00
Akihiro Motoki
385870317a Split out FWaaS dashboard
Implement blueprint split-out-neutron-xaas-dashboards
Change-Id: Ieaca88dbe28cc2330d9b333082ff7e92c91e8639
2017-06-27 14:20:03 +00:00
Akihiro Motoki
1d6a217da1 Split out VPNaaS dashboard
Implement blueprint split-out-neutron-xaas-dashboards
Change-Id: Ib304ddef381d80011f7030fdd5049aab0e901ae6
2017-06-27 14:20:03 +00:00