These two documents were incredibly outdated, but also had almost
identical concerns. This patch updates the content and merges the two
documents.
Note that this guide is still separate to the quickstart guide, which is
intended for developers. In future patches in this blueprint, the file &
navigation structure will be altered to make this distinction more
clear.
Change-Id: Ic5d111d53ab69a3cd1ab08c4c05b2d676e79258c
Implements: blueprint pike-docs-overhaul
This patch adds the ability to configure the default "create volume"
value when launching an instance with Cinder enabled.
Co-Authored-By: Rob Cresswell <robert.cresswell@outlook.com>
Closes-Bug: 1678109
Change-Id: I272f7f1b20cc1276976c464a82d1776de92d17e7
This change extends the description of OPENSTACK_HOST, now including
references to other settings that explain how to setup multiple region in
Horizon.
Change-Id: Id079cae5767159ff8d2ff8b854ab218db1fbdd79
IP address is now included in the default format
as %(client_ip)s what fully covers auditing
use case for this log.
Change-Id: I226f268b0eac6e35021b3e86aef512108ddb5691
Closes-Bug: #1688484
enable_firewall and enable_vpn settings have been deprecated
since Juno release, but they have not been dropped yet just because
we need a lot of changes in unit tests if dropped.
The situation is resolved by the parent commit and we can now drop these
settings safely. We can control whether a specific panel should be
enabled or disabled via the pluggable panel mechanism ("enabled" dir).
Also clean up enable_lb which has gone several releases ago.
Closes-Bug: #1687185
Change-Id: I83fa48c5d9568a00294be7cd5f43ef181bc1f28d
Update the VNIC type list shown by Horizon to match the options
supported by neutronclient.
See neutronclient/tests/unit/test_cli20_port.py
Closes-Bug: 1681917
Change-Id: Ifbe81a3a3b5f2edc9c0b8a0129d780546119a92e
python-openstackclient, shade, openstacksdk and Ansible's OpenStack
modules all support reading client config information from a file called
clouds.yaml instead of from environment variables set from openrc files.
Unfortunately, the only thing horizon currently offers for download is
old-style openrc files.
Add support for downloading clouds.yaml files.
Change-Id: I0611dd44524b746ad993bff7435ec8628a83a762
There's some vendor specific code still lingering from several cycles
ago. This patch removes all usage of it, all related tests, and all
default settings.
Implements: blueprint horizon-vendor-split
Change-Id: Ic0bb84f547b07b130480e587bd365f6e7805dfb5
Added setting physical_networks to provide users list of
available physical networks to choose from on the
admin create network modal.
Default to an empty list and the physical network field is
a regular input field where users can type in the name
of the physical network to be used.
If it's set to a list of physical network names, the
physical network field is a dropdown menu where users can
choose a physical network to use.
Closes-bug: #1485144
Change-Id: I342b3776a52179d5b4a704fb984912878ff3dc81
The docs erroneously indicate that OPENSTACK_KEYSTONE_URL should not
be set when AVAILABLE_REGIONS is used, but it actually should be.
Change-Id: I2bd55b1c7e41c14a2624aadd8d32acdae5753839
Closes-Bug: 1667557
The description for the PROJECT_TABLE_EXTRA_INFO and
USER_TABLE_EXTRA_INFO settings makes no sense. This patch cleans
up the English to describe how to use these settings.
Change-Id: I6e14889a1dc8b3e4b242b6649847761084500c08
Newly added NG panels are missing some definitions
in settings.py and settings.rst
NG Domains default is not defined in settings.py
https://review.openstack.org/#/c/387771/
NG Roles default should be described in settings.rst
documentation
https://review.openstack.org/#/c/222825/
Change-Id: I0bddbf2c829467c2c1ea20d96124c66ec46c50b4
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
This patch is removing a trailing backtick (`) from the
doc/source/contributing.rst and
doc/source/topics/settings.rst documents.
Change-Id: I9b50bf86765d6cccc1b34d9f1e4704211ff4d2be
Note in settings documentation (for upstream developers)
that from Newton forward, we should use the ANGULAR_FEATURES
setting instead of creating an enabled file like
_3031_identity_ng_users_panel.py...
and DISABLE-ing it there.
This makes sure we only display one service panel at a time
(either Django or Angular) and not both.
Change-Id: I120011ada793eeee92fd0871e6771d755a34d7f0
This patch updates an angular users table.
To be added in subsequent patches:
- Detail Table
- Actions
- filterFacets
- Integration to Searchlight
To Test
- change 'users_panel' to True in settings.py
Change-Id: I3c4cb39d80adc9aa207e56dc72a936f567f5b4d1
Partially-Implements: blueprint ng-users
Middleware is the backbone of the whole profiler facility. It adds an
encoded payload to each request that should be profiled with
osprofiler library. This library is embedded into other OpenStack
services where it tries to decode the message with a known set of keys
(so Horizon middleware should use one of these keys) and if
successful, sends a message to MongoDB (via osprofiler driver). Every
message has its own id, the base id (root message id) and parent
id. Using these 3 ids a tree of trace messages is assembled.
Actually, Horizon Django application uses 2 middleware classes:
ProfilerClientMIddleware and
ProfilerMiddleware. ProfilerClientMiddleware is used to enable Horizon
self-profiling (profiling from the UI): if a specific key is found in
cookies, then 2 standard osprofiler headers are added to a
request. These headers are processed by ProfilerMiddleware which
should always be the last middleware class in a Django config, since
it's defines `process_view` method which returns HttpResponse object
effectively terminating the middleware process_view chain. Assuming
that all API calls happen during rendering a view, Horizon sets a
tracepoint there which becomes a root node of the trace calls tree.
Implements-blueprint: openstack-profiler-at-developer-dashboard
Change-Id: Ib896676e304f2984c011bd1b610c86d1f24d46b9
LBaaS v1 feature was removed from neutron-lbaas in Newton.
There is no reason we have LBaaS v1 dashboard in Ocata or later.
Change-Id: Ic7d4ceea1943c3721500ce4b7f769b9dba28a359
Closes-Bug: #1624655
This patch enables all of the features for the Flavors panel to use Angular but
disables it, so that it is easy to switch on/off.
Note that we add integration test switches since it can't read the Django
conf.
Note that I changed the common tests to allow for testing of api calls that
don't produce error toasts, because we needed better branch coverage, and
the deleteFlavor api wasn't fully branch-tested.
Change-Id: I92b1b57bd486e5eb87179cb8d44b7551e9de2e0f
Partially-Implements: blueprint ng-flavors
Previously the ADMIN_FILTER_DATA_FIRST setting was a True/False
setting that was taking over all the admin views leaving
operators without the opportunity to set this setting to views
individually.
This patch changes the setting to a dict where it can be specified
which panels/views will implement this setting individually.
Implements blueprint: admin-views-filter-first
Change-Id: I50deab878f68c1cc519aa9b47feaa2c58bb8eacc
Implements wrappers necessary for Horizon to work with either Glance
v1 or v2 and removes the dependency on the Glance v1 endpoint.
Handles the differences between setting properties with v1 and v2 and
restricts some Glance functions that aren't supported in v2.
Implements blueprint: horizon-glance-v2
Co-Authored-By: Travis Tripp <travis.tripp@hp.com>
Co-Authored-By: Brad Pokorny <Brad_Pokorny@symantec.com>
Co-Authored-By: Timur Sufiev <tsufiev@mirantis.com>
Co-Authored-By: Liuqing Jing <jing.liuqing@99cloud.net>
Change-Id: Icca91c53eabf18c3109b3931ed53f70eaaaa0e56
The following error and warnings are fixed:
* ERROR: Unknown directive type "versionupdated".
* WARNING: Title underline too short.
* WARNING: Block quote ends without a blank line; unexpected unindent.
Change-Id: I43c4e77cf62c2cd336a72cbf132f9b6933b5af75
https://review.openstack.org/#/c/340689 added a new setting to Django
OpenStack Auth. This patch documents it and provides an example.
Change-Id: Ib684b4c918af0d5ae3770cba702b44e86a3ad3da
Closes-Bug: 1609506
This change is to support extra properties in project and user.
To show an extra property in project/user table, you can customize.
The explanation of the method to add an extra property is added
by this patch.
In addition, when you do a create or update user, you can specify a
value of extra property by setting in local_settings.py
Change-Id: Ifee491f2a55d9207fe5da70136f749e1fc4bab82
Implements: blueprint support-extra-prop-for-project-and-user
Adds new configs to LAUNCH_INSTANCE_DEFAULTS to configure
which sources are available when launching an instance.
Provides an info message if no boot sources are enabled.
Prevents doing extra calls if a boot source is disabled.
Adds tests to check for the proper filling of allowedBootSources.
Removes one test as the object being checked no longer exists.
Co-Authored-By: Brad Pokorny <brad_pokorny@symantec.com>
Co-Authored-By: Yosef Hoffman <yh128t@att.com>
Change-Id: I90f76c34dbfb20cb54d5f3e599052388bd0dba39
Implements: blueprint configurable-boot-sources
This patch enables the Angular Image panel and deprecates the Django-based
Image panel.
It changes the Django configuration switch and the integration test switch.
Change-Id: I5a8b188985a28c246160210e0c87122519339c64
Partially-Implements: blueprint angularize-images-table
We should unify the angular features (new panels, workflows, etc.) in a
single setting. This also makes it a little cleaner to read, simply
using the 'truthiness' of a key rather than string comparisons.
I haven't moved the 'swift_panel' setting, as that panel will be removed
in the O cycle anway, so it seems pointless to move a setting causing
potential issues for a single cycle.
Change-Id: Ia5702ff523355ae895e14cc3d49c895128478944
If the user's private network has the same CIDR as the public
network, there will be an error. The router is unable to set
the gateway properly when the private and public CIDR overlap.
This patch add setting 'ALLOWED_PRIVATE_SUBNET_CIDR' to decide
whether to restrict user private network cidr input. And admin
dashboard network panel was not restricted.
Example:
ALLOWED_PRIVATE_SUBNET_CIDR = {'ipv4': ['192.168.0.0/16',
'10.0.0.0/8'],
'ipv6': ['fc00::/7',]}
By default, leave the 'ipv4' and 'ipv6' with empty lists,
then user subnet cidr input will not be restricted.
DocImpact
Implements blueprint: restrict-private-network-input
Change-Id: I6b2ee58447d517c1c40344b8f4dd95968638da5b
This patch follows on the example that the Containers set, providing
a 'switch' in the panel-enablement file that currently defaults to
'legacy' (Python-based Images panel) and allows for 'angular' (Angular-
based Images panel).
To be clear, this does NOT enable Angular Images. It's just setting the
stage to do so at some point, or to allow deployers/devs to easily switch
between the two.
A switch both for HORIZON_CONFIG and for integration tests is necessary
due to the way integration tests operate.
Co-Authored-By: Timur Sufiev <tsufiev@mirantis.com>
Change-Id: I12cd33552218ed1082d2d9a2ae8982639a217a6a
Partially-Implements: blueprint angularize-images-table
In case 'data' image attribute is a base string (instead of in-memory
or on-disk file), api.glance sends back an image wrapper with a redirect
url and a token to its caller, so the caller could upload the file to
that url directly.
Provide a unit test for api.glance behavior when an external upload
location is used. That also requires to fix glance stub endpoint data
in keystone_data.py since it didn't reflect the reality.
Also document the new HORIZON_IMAGES_UPLOAD_MODE setting that will
govern direct images upload and the define approach to deprecating the
old HORIZON_IMAGES_ALLOW_UPLOAD setting. The old setting is deprecated
as of Newton release and planned to be removed in P. 'Removing' means
that it will no longer be used / referenced at all in code, not the
actual presence in settings.py (it is removed from settings.py in this
commit). What really matters is if the customized value of
HORIZON_IMAGES_ALLOW_UPLOAD in local_settings.py will be still
considered during the deprecation period.
Help text in Django Create Image form in case if local file upload was
enabled was wrong, fixed that.
Related-Bug: #1403129
Partially implements blueprint: horizon-glance-large-image-upload
Change-Id: I24ff55e0135514fae89c20175cf9c764e871969b
Since Nova doesn't currently provide an API call to indicate whether
its quotas are disabled, we could use a parameter named
'enable_quotas' within 'OPENSTACK_HYPERVISOR_FEATURES' setting for
this purpose. This allows to avoid errors while trying to update
quotas which are disabled on service side. Also make disabled_quotas
collection to be a set instead of a list - this removes duplicate
fields that appear due to some possible quota overlaps between Nova
and Neutron.
Also, since we dropped out python2.6 support fancy set literals and
dict comprehensions can be used.
Co-Authored-By: Paul Karikh <pkarikh@mirantis.com>
Closes-Bug: #1286099
Change-Id: I10923f147e4c323aba8bbcc130d2016ad6725e86
Angular based Horizon widgets and Horizon plugins will want to
contact OpenStack API's directly to enable much more responsive UI
and to place less load on the Horizon servers by proxying service
calls through horizon proxies.
Change-Id: I612c6bfefa8e157f7219938bb3e82896dde8fa09