Newton 시리즈 릴리즈 노트

10.0.2

버그 수정

  • [bug 1618235] User can now delete all characters typed in input search without causing the selected facet to disappear when the last character is deleted.

  • [bug 1635505] Horizon now properly allows to use arrow keys inside of the input search, without triggering a new text search that refreshes the content of the table below.

기타 기능

  • Menu follows the search input position as the user adds more facets

10.0.1

업그레이드 노트

  • The developer enabled files have been moved from openstack_dashboard/enabled to openstack_dashboard/contrib/developer/enabled. To enable them, copy into openstack_dashboard/local/enabled and set DEBUG = True.

버그 수정

  • There will no longer be any WARNING messages regarding the developer panels in logs.

10.0.0

Prelude

angular 작업은 이제 작업이 무엇을 했거나 안 했는지를 나타내는 방식으로 구조화된 객체로 풀어주는 결과를 돌려줘야 합니다.

이제 자바스크립트는 Keystone 토큰에 접근할 수 있습니다.

이번 주기 동안 많은 Horizon XStatic 패키지들이 업데이트 되었습니다.

자원 유형에 대한 세부사항 페이지 (예: 이미지)에서 이제 Angular 응용프로그램 레벨 레지스트리를 사용하여 뷰를 등록합니다. 따라서 개발자가 세부사항 뷰를 쉽게 생성 또는 확장이 가능합니다. 이 구현에서 해당 뷰는 세부사항 페이지 내에서 탭 형태로 표시됩니다.

HTML 클래스 명명 규칙을 표준화하기 위해, Bootstrap의 규칙과 일치하도록 밑줄이나 카멜 표기법 대신 대시를 사용한 다양한 클래스 이름을 업데이트할 것입니다.

Horizon가 동작 하는데 더 이상 Nova (또는 Glance)가 필요하지 않습니다; Horizon은 Keystone이 존재하는 한 동작할 수 있습니다. (예를 들어, Swift 단일 배포환경)

이제 레거시 또는 Angular 코드를 사용하도록 Images 패널을 구성할 수 있습니다.

To aid in continued maintenance of Horizon as a themable and customizable framework, the highly customized ‘default’ styles are being dropped in favor of standard Bootstrap styles. The ‘default’ theme will only house scss variable changes going forward.

현재 Angular 구성 요소는 리소스(예 : 인스턴스)에 대한 레지스트리 정보를 기반으로 설정이 간단한 패널과 테이블을 제공하기 위해 존재합니다.

Modal 크기는 Bootstrap 테마 변수로부터 상속됩니다.

We now automatically determine the static folder location for xstatic packages being used by Horizon.

새로운 기능

  • 작업-결과 서비스는 결과를 만들어주고 해결된 객체를 파싱하는 편리한 방법을 제공합니다.

  • [blueprint admin-neutron-l3-agent] Add support for managing neutron L3 agent hosts. The admin screen for system information now provides links / views to see what routers reside on what hosts. In addition, the admin view of routers now also provides a list of where the router is hosted and the link to see what other routers are sharing the same host.

  • Horizon 및 Horizon 플러그인은 JavaScript에서 Keystone 토큰에 접근할 수 있으며, 이는 다른 OpenStack 서비스에 직접 CORS 호출을 하기 위함입니다. 이는 보다 반응이 빠른 UI를 가능케 합니다.

  • 설정에 ANGULAR FEATURES 을 추가하였습니다. 이 설정은 새로운 AngularJS 기능을 간단하게 토글할 수 있습니다.

  • 새로운 인스턴스 실행 워크 플로우에 스케줄러 힌트 탭을 추가하여 시작할 때 인스턴스에 스케줄러 힌트를 추가 가능합니다. 사용자 정의 키-값 쌍을 추가하는 것 뿐만 아니라, 사용자는 glance 메타 데이터 정의 카탈로그에서 OS::Nova::Server 자원 유형 및 scheduler_hints 속성 대상을 갖는 속성을 선택할 수 있습니다.

  • angular 워크 플로우 서비스 지원 설정을 추가하여 워크 플로우의 각 단계에서 단계를 표시하기 위해 통과해야하는 boolean 설정을 지정할 수 있습니다.

  • [blueprint admin-views-filter-first] This blueprint provides a configurable setting to allow operators require admin users to provide a search criteria first before loading data into admin views.

  • [blueprint angular-table-directive] This blueprint provides a way for developers to programatically declare an Angular table vs writing HTML markup. It reduces the boilerplate HTML code. For a basic table, you need to pass in the data and the column configuration into the hz-dynamic-table directive.

  • [blueprint angular-template-overrides] This blueprint provides a way for deployers to use a theme to override HTML fragments used by Angular code in Horizon. For example, to override the launch instance help panel when the ‘material’ theme is used, create openstack_dashboard/themes/material/static/templates/framework /widgets/help-panel/help-panel.html. All of the client side templates are now compiled into a single JavaScript file that is minified and is given as an additional file in the manifest.json file.

  • [blueprint cinder-consistency-groups] This feature adds 2 new tabs to the Project Volumes panel. The first tab will display Consistency Groups, and the second tab will display Consistency Group Snapshots. Consistency Groups (CG) contain existing volumes, and allow the user to perform actions on the volumes in one step. Actions include: create/update/delete CGs, snapshot all volumes in a CG, clone all volumes in a CG, and create a new CG and volumes from a CG snapshot. Policies associated with Consistency Groups exist in the Cinder policy file, and by default, all actions are disabled.

  • [blueprint configurable-boot-sources] Allows administrators to restrict which sources are available to boot from in the Launch Instance modal by adding 4 new settings to LAUNCH_INSTANCE_DEFAULTS (disable_image, disable_instance_snapshot, disable_volume, disable_volume_snapshot).

  • Create from a local file feature is added to both Angular and Django Create Image workflows. It works either in a ‘legacy’ mode which proxies an image upload through Django, or in a new ‘direct’ mode, which in turn implements [blueprint horizon-glance-large-image-upload]. To use the direct mode HORIZON_IMAGES_UPLOAD_MODE setting should be changed to ‘direct’ value along with changing glance-api.conf cors.allowed_origin parameter to the URL from which Horizon is served.

  • 작업의 목적을 설명하는 추가 세부 정보로 angular row 작업을 렌더링하는 기능이 추가되었습니다. 타일로 렌더링되며 사용자가 주어진 리소스에 대해 취할 수있는 다음 단계를 서술합니다.

  • The port-details page has a new tab for managing Allowed Address Pairs. This tab and its features will only be available when this extension is active in Neutron. The Allowed Address Pairs tab will enable creating, deleting, and listing address pairs for the current port.

  • Support a parameter to specify subnet or fixed IP address when creating port.

  • 지시자 (hz-details)는 뷰 집합 (보통 세부사항 컨텍스트)을 지능화하여 보여주는 기능을 제공합니다.

  • 제네릭 세부사항에서 자원 유형을 결정하기 위한 위치를 파싱하며, 해당 유형에 대해 적절한 세부사항 뷰를 보여줍니다.

  • Descriptor 개념을 통해 제네릭 뷰 및 액션을 사용하기 위한 개체를 전체적으로 식별 가능한 정보를 쉽게 전달하도록 합니다.

  • Horizon은 Django에 (non-navigational) 경로를 가지므로 일반적인 세부 정보 페이지는 딥-링크되어 있습니다.

  • 공유된 Django 템플릿을 이제 모든 Angular 페이지에서 사용할 수 있습니다.

  • Horizon이 Keystone 카탈로그에서 Glance v1 엔드 포인트를 더 이상 사용하지 않도록 Glance v2에 대한 완벽한 지원을 추가합니다. 또한 Glance v1과 v2 간의 코드 호환성을 제공합니다.

  • 사용자가 이미지를 만들거나 업데이트할 때 위치를 설정할 수있는 IMAGES_ALLOW_LOCATION이라는 새 구성 값을 추가하였습니다. Glance 버전에 따라 위치 설정 기능은 정책 그리고/또는 구성 값에 의해 제어가 이루어집니다.

  • Nova and Glance are no longer required in order to run Horizon. As long as keystone is present, Horizon will run correctly.

  • the ANGULAR_FEATURES setting now allows for a key images_panel. If set to True, then the Angular Images panel will be used, while the Python version will be used if set to False.

  • Integration tests for Image features may also be toggled in openstack_dashboard/test/integration_tests/horizon.conf using the ‘panel_type’ feature, either set to ‘legacy’ or ‘angular’ to match the enabled panel type.

  • Horizon support for network IP availability feature. Enable Horizon admin network dashboard to be able to display IP availability. Enables 2 columns in the admin network subnets table to display the allocated IPs in a given subnet and unallocated free IPs for each subnet in the network.

  • Neutron 네트워크 타입으로 Geneve 터널링 프로토콜이 지원됩니다.

  • Neutron은 Midonet의 중성자 제공자 네트워크 유형이 지원됩니다. 이를 가능하게하려면 설정 파일의 ``supported_provider_types``에 이러한 네트워크 유형을 지정하십시오.

  • Neutron 프로바이더 네트워크 구성이 더욱 유연해지고 있습니다. 운영자는 새로운 네트워크 타입, 세그멘테이션 ID 범위 등 다양한 프로바이더 네트워크 파라메터를 사용하고 있는 Neutron 네트워크 백엔드에 따라 설정할 수 있습니다.

  • 새로운 설정인 INTEGRATION_TESTS_SUPPORT를 추가하였으며, 기본값은`False` 입니다. 해당 값은 manage.py compress 명령을 실행할 때 사용되며, 디폴트로 통합 테스트에 사용된 모든 정적 컨텐츠와 HTML 클래스가 Horizon 프로덕션 빌드에서 제거됩니다. 통합 테스트 게이트 작업은 해당 변수를`True` 로 설정하며 정적 콘텐츠는 다시 압축합니다.

  • The hz-resource-table directive takes in a Heat resource name (e.g. ‘OS::Nova::Server’) and uses the Angular registry to provide actions, columns, and summary views.

  • The hz-resource-panel directive takes in a Heat resource name (e.g. ‘OS::Nova::Server’) and displays an appropriate header and allows content to be transcluded to build the panel page.

  • 새로운 OVERVIEW_DAYS_RANGE 설정이 추가되었습니다. 개요 패널 미터에서 기본 날짜 범위를 오늘 날짜 N 일 전까지의 범위 (값이 정수 N의 경우), 또는 달 처음부터 오늘까지의 범위 (None으로 설정되어있는 경우)를 정의합니다. 이 설정은 일반 패널이 렌더링 될 때 검색 할 데이터의 양을 제한하는 데 사용됩니다. 기본값은 1로, 이전 버전과 다른데 그 이유는 대형 배포에서 심각한 지연을 야기하였기 때문입니다.

  • Modal sizes now inherit their value from theme variables. Two additional sizes are available now for use in Horizon, extra to the standard 3 sizes of Bootstrap Modals, modal-xs and modal-xl.

  • TOKEN_DELETE_DISABLED 설정을 추가하여, 배포자가 사용자 토큰을 로그아웃시에 해제하는 기능을 사용자 정의화 가능하도록 합니다.

알려진 이슈

  • If you set ‘images_panel’ to False for the ANGULAR_FEATURES option (which is not the default) and configure Horizon to use Glance v2, Ramdisk ID and Kernel ID don’t show properly on the “Edit Image” screen.

업그레이드 노트

  • 꼭 필요한 것은 아니지만, 기대하는 구조로 결과가 나올 것을 확실히 하는 것이 좋습니다.

  • The TEMPLATE_* settings have been replaced with a TEMPLATE dict. This will likely cause issues when porting settings to this version of Horizon. The TEMPLATE_DEBUG setting has been removed and is tied to the DEBUG setting now. A detailed explanation of this dict can be found at https://docs.djangoproject.com/en/1.10/ref/settings/#templates

  • The is_authenticated() and is_anonymous() functions in Django OpenStack Auth’s User class are properties when running under Django 1.10, and no longer take a margin parameter.

  • Horizon 은 현재 Angular 1.3.x 와 1.4.x 버전을 지원하고 있지만, 1.3 버전에 대한 지원이 중단됩니다. Migrating from 1.3 to 1.4 문서를 참고해주시기 바랍니다.

  • The breadcrumb navigation inside the details pages now applies across Horizon. A small change in the logic means that custom_breadcrumb items in the context no longer need to specify the panel name and link. See [blueprint navigation-improvements]

  • The final django TEMPLATE_LOADERS configuration will now be generated from TEMPLATE_LOADERS, CACHED_TEMPLATE_LOADERS and ADD_TEMPLATE_LOADERS settings. See the settings documentation for more information.

  • It is no longer necessary to include the version suffix into OPENSTACK_KEYSTONE_URL setting. Thanks to a recent update of django-openstack-auth library as of 2.3.0 release, Horizon will append the proper version suffix to the URL based on the value stored inside OPENSTACK_API_VERSIONS[‘identity’] setting.

  • (옵션) boilerplate 코드를 최소화하고 유사항 기능/프레임 사용을 보장하기 위해 임의의 Angular 페이지를 기반으로 하는 공통 Angular 템플릿을 사용합니다.

  • The OPENSTACK_IMAGE_FORMATS variable must be added to the REST_API_REQUIRED_SETTINGS setting in local_settings.py

  • If the ‘default’ theme is still required for legacy overrides to function, simply copy the styles in the ‘default’ theme into a pre-existing theme or create a new custom theme.

  • The status_unknown table row class has been replaced with the default bootstrap warning class.

  • Many Javascript files have moved to new locations in the horizon/lib static folder. Previously the locations of some files were hard-coded but now the locations are determined automatically based on the xstatic package name.

사용하지 않는 기능

  • HORIZON_IMAGES_ALLOW_UPLOAD 설정이 더 이상 사용하지 않고, 점진적으로 HORIZON_IMAGES_UPLOAD_MODE 설정으로 변경됩니다.

  • Router rules is a horizon extension provided by Big Switch Networks. As part of the horizon-vendor-split work, we drop the extension from upstream horizon. It is now available as a separate plugin at https://github.com/bigswitch/horizon-bsn

  • LBaaS v1 dashboard is now deprecated and will be removed in Ocata release. LBaaS v1 feature was removed from neutron-lbaas in Ocata and this functionality in Horizon is only for backward compatibility so that operators can upgrade Horizon first. Note that the Dashboard support for LBaaS v2 is provided as a Horizon plugin via neutron-lbaas-dashboard project.

  • HTML의 모든 ‘d3_pie_chart_usage’ class를 ‘pie-chart-usage’로, ‘d3_pie_chart_distribution’ class를 ‘pie-chart-distribution’으로 변경하였습니다.

  • The ‘default_ipv4_subnet_pool_label’ and ‘default_ipv6_subnet_pool_label’ options were deprecated in the Mitaka release and are no longer valid in the Newton release. Starting with Mitaka you can create one default subnet pool per address family through the Neutron API. These subnet pools will automatically show up in the subnet pool list using the name of the pool as label.

  • Inline Edit functionality for Horizon tables is now deprecated and will be removed in Horizon P (12.0) The functionality was removed from the following tables. Admin Volume Types table, Admin Metadata Definitions table, Identity Projects table and Identity Users table

  • 전체화면 모달은 모달-xl을 사용하도록 권장되지 않습니다. 현재, 보기 가능한 화면 너비의 95%로 설정되어 있습니다.

보안 이슈

  • Making Keystone Tokens available to JavaScript slightly increases the risk of a Token being captured. If you don’t need this functionality, it can be disabled by setting the following option in your local_settings: ENABLE_CLIENT_TOKEN = False

버그 수정

  • 하드코딩 된 관리자 역할은 패널에서 RBAC 정책 검사로 대체됩니다. 이제 패널에 대한 사용자 액세스는 사용자 역할이 아닌 정책에 의해 정의됩니다. 이 변경 사항은 관리 대시 보드 및 해당 패널(개요, 하이퍼 바이저, 인스턴스 및 메타 데이터 정의)에 영향을 미쳤습니다.

  • LP-1585682 is fixed which grants Horizon the ability to properly version Keystone webpath endpoints (URLs like http://<hostip>/identity instead of http://<hostip>:5000).

기타 기능

  • XStatic-Angular를 1.3.7.0에서 1.4.10.1로 업데이트했습니다.

  • XStatic-Angular-FileUpload를 1.4.0.1에서 12.0.4.0으로 업데이트했습니다.

  • XStatic-Bootstrap-SCSS를 3.2.0.0에서 3.3.7.0으로 업데이트했습니다.

  • XStatic-Bootswatch를 3.3.5.3에서 3.3.6.0으로 업데이트했습니다.

  • XStatic-Font-Awesome을 4.3.0.0에서 4.5.0.0으로 업데이트했습니다.

  • XStatic-Jasmine을 2.1.2.0에서 2.4.1.1로 업데이트했습니다.

  • XStatic-MDI를 1.1.70.1에서 1.4.57.0으로 업데이트했습니다.

  • XStatic-Rickshaw를 1.5.0.0에서 1.5.1.0으로 업데이트했습니다.

  • XStatic-Smart-Table을 1.4.5.3에서 1.4.13.1로 업데이트했습니다.

  • Glance v2는 copy-from 기능을 지원하지 않으므로 Glance v2를 사용하면 Horizon에서이 기능을 사용할 수 없습니다.