Jump to: navigation, search

ReleaseNotes/Liberty

This page is a translated version of the page ReleaseNotes/Liberty and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎日本語 • ‎한국어 • ‎中文(简体)‎ • ‎中文(台灣)‎

OpenStack Liberty 릴리즈 노트

Contents

OpenStack Object Storage (Swift)

전체 릴리즈 노트는 https://github.com/openstack/swift/blob/master/CHANGELOG 에서 확인하세요.

새로운 기능

  • object-server 및/또는 복제 서버 구성을 위한 [DEFAULT] 구성 섹션 내 "servers_per_port" 에서, 새로운 0보다 큰 정수 구성 값을 활성화함으로써 1개 이상의 object-servers-per-disk 배포를 허용합니다. 설정하는 정수 값은 링에서 유일한 단일 로컬 포트 임의 값에 대해 서로 다른 object-server worker가 얼마나 많이 요청을 처리하는지에 따라 결정됩니다. 해당 모드에서는, 부모 swift-object-server 프로세스는 본래 사용자 (low-port 바인딩을 필요로 할 때는 root)로 계속하여 실행합니다. Ring에 정의된 모든 포트에 바인딩합니다. 그리고 나서 listen하는 소켓 당 worker에 대한 지정된 개수만큼 fork가 이루어집니다. 포트 당 자식 서버는 권한을 버리고 object-server worker가 항상 한 가지 예외: 'ring은 디스크 당 유일한 포트를 가지고, object-server는 단일 디스크에 대한 요청만을 처리함'을 가지는 방식으로 동작합니다. 부모 프로세스는 죽은 서버를 찾아 재시작시킵니다 (올바른 listen 소켓과 함께). 갱신된 ring 파일을 서버 상의 장치 및 새로운 포트와 함께 발견하였을 때 빠빈 서버들을 시작시킵니다. Ring 파일들은 "ring_check_interval"에 설정된 매개변수 값 (디폴트 15초) 마다 object-server에 구성된 일정에 따라 시작됩니다. 테스트에서는, 해당 배포 구성 (값이 3으로 설정됨)은 요청 latency를 줄이고, 초당 요청을 개선하며, 기존 "workers" 설정과 비교했을 때 느린 디스크 IO를 격리시킵니다. 이를 사용하기 위해서는, 각 장치는 서로 다른 포트를 사용하여 ring에 추가되어야만 합니다.
  • object 서버에서 "container_update_timeout" 설정 (디폴트 1초)을 포함합니다. 해당 값은 object 서버가 object PUT 동작에 대한 상태를 반환하기 전 목록을 갱신하기 위해 컨테이너 container 서버를 기다리는 초에 대한 숫자 값입니다. 이전에는, object 서버는 container 서버 응답에 대해 최대 3초까지 기다릴 수 있었습니다. 새로운 기능은 클러스터 내 container 서버들이 busy 상태일 때 object PUT 지연을 극적으로 감소시킵니다 (예: container가 매우 클 때). 해당 값을 너무 적은 값으로 설정하면 클라이언트에서 object에 PUT을 하고 있으면서도 목록에서 바로 찾을 수 없는 결과를 초래할 수 있습니다. 해당 값을 너무 높게 설정하면 container 서버가 busy 상태일 때 클라이언트에 대한 지연이 증가할 것입니다.
  • 정적 대규모 객체 (SLO) 세그먼트에 대한 범위를 지정하는 기능이 추가되었습니다.
  • SLO PUT이 세그먼트 당 무결성 체크를 하지 않는 것을 허용합니다. 이전에는, 매니페스트에서 참조되는 각 세그먼트가 올바른 etag 및 바이트 설정 또한 필요로 하고 있었습니다. 이제 해당 필드에 "null" 값을 허용하여 주어진 세그먼트에 대한 특정 검사를 생략할 수 있게 되었습니다.
  • Replicator 구성에서 이제 "rsync_module" 값을 지원하여 장치당 rsync 모듈을 사용할 수 있습니다. 해당 설정은 운영자가 Swift 클러스터에서 트래픽을 상세히 조정하여 복제하여 특정 장치에 대해 복제 디스크 IO를 격리하도록 해 줍니다. 자세한 정보 및 예제에 대해서는 문서 및 샘플 구성 파일을 살펴봅니다.
  • Ring에서의 변경 사항
    • 파티션을 배치시키는 데에 있어 포트 번호가 더 이상 사용되지 않습니다. 이는 드라이브 당 하나의 object server를 실행하는 작은 클러스터에서 분산을 향상하며, 서버 당 하나의 object server를 클러스터 안에서의 분산에는 영향을 미치지 않습니다.
    • 일련의 Ring 관리 작업을 보다 쇱게 테스트하고 분석하는 ring-builder-analyzer 도구가 추가되었습니다.
    • Ring 검증시 이제 하나의 배치된 파티션이 같은 장치에 여러번 할당되는 경우 경고를 발생합니다. 이는 ring 내 장치가 균형있게 이루어지지 않았을 때 발생합니다 (예: 두 서버 중 한 서버가 상당히 많은 가용 용량을 더 가지고 있는 경우).
  • TempURL 문제가 수정되었습니다 (CVE-2015-5223 닫힘)

    PUT tempurl에 포인터를 다른 데이터로 생성하는 것을 허용하지 않습니다. 특히 PUT tempurl을 통해 DLO 개체 manifest를 생성하는 것이 금지되었습니다. 따라서 DLO 개체 manifest를 생성하고 PUT tempurl을 사용하여 개체에 대한 head를 가리킴으로써 개인 데이터에 대해 탐지하는데 PUT tempurl을 사용하는 발견 가능성이 있는 공격을 예방합니다.

  • Swift는 이제 per-policy 기준으로 StatsD 통계를 출력합니다.
  • 만약 서비스 토큰이 요청에 포함되지 않은 경우, 서비스 계정에서 COPY 요청까지 성공할 수 있는 Keystone 통합 문제를 수정하였습니다.
  • 대량(bulk) 업로드는 이제 그 결과로 생성된 object에서 object 메타데이터로 주어진 아카이브(archive)에 있는 파일에 사용자 xattrs를 처리합니다.
  • 만약 "handoffs_first"나 "handoff_delete" 설정이 되어있는 경우, object 복제에서 warning 로그를 뿜습니다.
  • swift-recon에서 object 복제 실패 횟수를 설정할 수 있습니다.
  • 분산(dispersion) 도구에서 storage 정책 지원이 추가되었습니다.
  • swift-dispersion에서 keystone v3 도메인을 지원합니다.
  • /info 엔드포인트에서 domain_remap 정보가 추가되었습니다.
  • domain_remap 미들웨어 구성에서 "default_reseller_prefix"를 지원합니다.
  • rsync를 "rsync_compress" 구성을 통하여 압축하여 사용하도록 허용합니다. 만약 true로 설정되었다면, 압축은 다른 region에 있는 장치에만 rsync를 사용할 수 있습니다. 어떤 경우에서는 이러한 cross-region 복제 데이터 전송 속도를 올릴 수 있습니다.
  • swift-recon에서 동기화 시간을 확인할 수 있습니다. ( --time 옵션)
  • Account reaper 는 거대한 accounts 에서도 더욱더 빠르게 작동합니다.
  • 여러가지 다른 minor 버그 수정 과 개선이 있었습니다.

업그레이드 노트

  • 의존성 변경
    • six 라이브러리가 필요 조건으로 추가되었습니다. 파이썬 3 지원을 위한 사항입니다.
    • 파이썬 2.6 버전은 더이상 지원하지 않습니다.
  • 구성 변경
    • 파이썬 최신버전에서는 요청에 대한 허용 헤더 수 제한을 합니다 (기본 100). 이 숫자는 사용자 정의 미들웨어를 사용하는데 적은 수일수 있습니다. swift.conf에 새로운 extra_header_count 구성 값을 사용하여 허용 헤더 수를 수정할 수 있습니다.
    • "run_pause"의 이름이 "interval"로 변경되었습니다 (현재 구성에서는 "run_pause"와 같이 사용할 수 있습니다). 추후 버전에서는 "run_pause" 설정은 삭제됩니다.
  • Versioned writes 기능은 리팩토링되고 미들웨어로 재구현되었습니다. 프록시 pipeline에 "versioned_writes" 미들웨어를 추가하여야 하나, 만약 활성화된 경우라면, 기존 container 서버 구성 설정에서 삭제하거나 비활성되지 않습니다 ("allow_versions"). 기존 container 서버 구성 설정은 지속적인 사용가능 한 버전으로 기존 container를 활성화합니다. 더 많은 기능업그레이드에 대한 노트는 http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster 를 참조하십시오.

OpenStack Networking (Neutron)

새로운 기능

  • Neutron은 IPv6 서브넷에 CIDR을 자동 할당하기 위해 이제 IPv6 접두어 위임을 지원합니다. 해당 기능에 대한 사용법 및 구성에 대한 자세한 정보는, OpenStack Networking Guide를 살펴봅니다.
  • Neutron이 이제 포트 수준에 대한 bandwidth 제한을 제공하는 QoS API를 처음 선보입니다. 해당 API, CLI, 구성 및 자세한 정보는 여기[1]에서 확인할 수 있습니다.
  • 라우터 고가용성 (L3 HA / VRRP)이 이제 2계층 population (l2pop)이 활성화되었을 때 동작합니다 [2].
  • VPNaaS 레퍼런스 드라이브가 이제 HA 라우터과 함께 동작합니다.
  • HA 라우터를 위한 VRRP 트래픽에 사용되던 네트워크가 이제 특정 세그멘테이션 유형 또는 물리 네트워크 태그를 사용하도록 구성할 수 있습니다 [3].
  • OVS 에이전트가 데이터 계층 연결에 영향을 미치지 않으면서 재시작 가능합니다.
  • Neutron이 이제 네트워크를 위한 역할 기반의 액세스 제어 (RBAC)를 제공합니다 [4].
  • LBaaS V2 레퍼런스 드라이버가 이제 운영급으로 확장 가능하고 안정적인 로드 밸런서 플랫폼인 Octavia를 기반으로 합니다.
  • LBaaS V2 API가 더 이상 실험적인 상태가 아닙니다. 이제 안정 버전입니다.
  • Neutron이 이제 수동으로 에이전트를 스케줄링하도록 관리하기 위한 방식을 제공하여, 호스트 자원들이 tenant 사용을 위하 활성화 되기 전에 테스트 가능합니다 [5].
  • Neutron이 이제 플러그인이 가능한 IP 주소 관리 프레임워크를 가짐으로써, 대체 가능한 또는 제3의 IPAM 사용을 가능하도록 합니다. 본래 버전에는 플러그인이 불가능한 버전의 IPAM이 기본으로 활성화되어 있습니다.

사용하지 않거나 제거된 플러그인 및 드라이버

  • 메타 플러그인이 Liberty 릴리즈에서 제거되었습니다.
  • IBM SDN-VE monolithic 플러그인이 Liberty 릴리즈에서 제거되었습니다.
  • Cisco N1kV monolithic 플러그인이 Liberty 릴리즈에서 제거되었습니다 (ML2 메커니즘 드라이버로 대체됨).
  • Embrane 플러그인은 사용하지 않으며 Mitaka 릴리즈에서 제거 예정입니다.

사용하지 않는 기능

  • FWaaS API는 Liberty에서 실험 상태입니다. 그리고 현재 API는 Mitaka에서 제거될 예정이며 해당 팀에서 개발 진행 중인 새로운 FWaaS API로 대체될 예정입니다.
  • LBaaS V1 API가 사용하지 않는 상태로 정해졌으며 향후 릴리즈에서 제거 예정이니, LBaaS V2 API를 사용하시면됩니다.
  • L3 에이전트를 위한 'external_network_bridge' 옵션은 사용되지 않는 상태이며 physnet에 bridge_mapping 사용을 권장합니다. 자세한 정보는, 네트워킹 가이드에서 해당 시나리오에 대한 "네트워크 노드" 섹션을 살펴 봅니다: http://docs.openstack.org/networking-guide/scenario_legacy_ovs.html

성능에 대한 고려 사항

  • 정체된 상태의 Trusty Tahr 커널 (3.13)은 네임스페이스 개수 증가함에 따라 "ip netns exec"를 실행할 때 비례하는 성능 저하를 보입니다. 확장이 중요한 경우, 이후 버전의 커널 (예: 3.19)가 사용되어야만 합니다. [3.13의 어떤 버전에서 보였는지 확인 필요. 대부분 버전들은 이미 수정된 상태일 것입니다.]


노트: 해당 성능 저하는 3.13.0-36.63 및 이후 커널 버전에서 수정되었을 것입니다. 자세한 레퍼런스를 위해서는 다음을 살펴봅니다 : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328088
  • 하드웨어 가상화가 없는 환경에서 Neutron-LBaaS 로드 밸런서를 생성하면 Octavia 드라이버 사용시 느려질 수 있습니다. 이는 하드웨어 가상화가 사용 가능하지 않은 환경에서 KVM 가속기 대신 TCG 가속기를 사용하는 QEMU에 의한 것입니다. Compute 노드에서 하드웨어 가상화를 활성화하거나 가상 환경 안에서 Octavia 드라이버를 사용시에는 중첩 가상화를 사용할 것을 권장합니다. KVM 내 실행하는 DevStack을 위한 중첩 가상화를 설정하는 법에 대한 자세한 정보를 다음 링크에서 살펴봅니다: : http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html.

OpenStack Compute (Nova)

새로운 기능

API

Scheduler

Scheduler에 대한 아키텍쳐 진화는 계속 진행중이며, 주요 버그 픽스는:

Cells v2

Cells v2 의 경우, 아직은 사용하지 않습니다. 그러나 일부 인프라에서 지원하도록 추가했습니다:

Compute 드라이버 기능

Libvirt
VMware
Hyper-V
Ironic

기타 기능

업그레이드 노트

  • Kilo 안정 버전으로부터의 업그레이드의 경우, Liberty를 배포하기 전에 확실히 Kilo 릴리즈의 가장 최신 릴리즈로 업그레이드 되었는지 확인하십시오. https://bugs.launchpad.net/nova/+bug/1474074 버그로 인해 해당 픽스 수정 버전에 해당하는 Kilo 버전은 Liberty 노트와 통신을 할 때 문제가 발생할 수 있습니다.
  • RAM 및 CPU 할당 비율이 이제 nova-compute 서비스 내에서 (즉 compute 노드 당) 정의합니다. 해당 비율은 스케줄러 서비스를 위해서 또한 제공되어야 할 필요가 있습니다. compute 노드가 Kilo 또는 Liberty를 실행하는지에 따라, 할당 비율은 서로 다르게 동작할 것입니다 : compute 노드가 Kilo 실행인 경우 해당 compute 노드에 대한 CPU 및 RAM 할당 비율은 컨트롤러의 nova.conf 파일에 디폴트로 있는 값이 될 것입니다. 또는, compute 노드가 Liberty인 경우 CPU와 RAM 모두에 대한 할당 비율을 compute 마다 설정할 수가 있습니다. 관리자가 할당 비율을 모든 compute 노드에 제공하기 위해, 기본 할당 값을 nova.conf에 0.0 으로 지정해야할 것입니다 (심지어 컨트롤러도). 이는 할당 비율이 실제 0.0임을 의미하지 않고, 단지 관리자가 해당 값을 제공해야 할 필요가 있음을 다음 릴리즈 (즉, Mitaka) 전까지 의미합니다. 명확히 말하며, 디폴트 할당 비율은 여전히 cpu_allocation_ratio는 16.0, ram_allocation_ratio는 1.5입니다.
  • nova-compute가 새로운 "network-vif-deleted" 이벤트 당 Neutron 서비스를 업그레이드 하기 전에 Liberty 코드로 업그레이드되어야 합니다: https://review.openstack.org/#/c/187871/
  • Rootwrap 필터가 'touch' 명령어가 추가된 릴리즈 이후 업데이트되어야 합니다.
    • Launchpad Bug 1256838에서 언급되었듯이 imagebackend와 imagecache간 race condition이 있습니다.
    • 이 경우 만약 base 이미지가 imagebackend에서 이미지를 인스턴스 경로에 복사되는 동안 ImageCacheManager에 의해 제거된다면, 인스턴스는 오류 상태가 됩니다.
    • 해당 이슈를 해결하기 위해, https://review.openstack.org/#/c/217579/ 변경에 따라 'touch' 명령어를 compute.filter에 추가할 필요가 있습니다.
    • Race condition의 경우, imagebackend가 이미지를 복사하는 동안 libvirt가 기반 파일 소유권을 libvirt-qemu로 변경하는 경우, permission denied 오류가 os.utime을 사용해 파일 액세스 타임을 갱신하고자 하는 경우 발생합니다. 해당 오류를 해결하기 위해 기반 파일 액세스 타임을 'touch' 명령어를 사용하여 root 사용자 권한으로 갱신할 필요가 있습니다.
  • DiskFilter가 이제 Liberty에서 scheduler_default_filters의 일부가 되었습니다 https://review.openstack.org/#/c/207942/ .
  • https://review.openstack.org/#/c/103916/ 와 같이, 1개의 vCenter 클러스터에 단일 nova-compute 노드만 이제 매핑할 수 있습니다.
  • Libvirt 드라이버 parallelsvirtuozzo로 이름이 변경되었습니다.
  • 사용되지 않는 테이블인 iscsi_targets, volumes가 제거되었습니다.
  • 디폴트 paste.ini가 새로운 v2.1 API를 모든 엔드 포인트에 대해 사용하도록 갱신되었고, v3 엔드 포인트는 제거되었습니다. 호환성 모드 미들웨어가 /v2 및 /v1.1 엔드포인트에 대한 v2.1 검증을 완화하는 데 사용됩니다.
  • DB 스키마 다운그레이드 코드가 이제 제거되었습니다: https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration
  • 데스크에 사용하는 디폴트 DB 드라이버가 이제 Python-MySQL 대신 pymysql입니다.
  • "powervm" hv_type shim이 제거되었습니다. 이는 이미지 메타데이터 내 hv_type=powervm을 갖는 오래된 이미지를 사용하는 PowerVC driver on stackforge 사용자에게 영향을 미칩니다.
  • Mitaka 릴리즈에서 libvirt에 대한 최소 요구 버전은 0.10.2가 될 것입니다. libvirt < 0.10.2 지원은 Liberty에서 deprecated 되었습니다: https://review.openstack.org/#/c/183220/
  • libvirt.remove_unused_kernels 구성 옵션은 삭제를 위해 deprecated 되었고 이제 True가 기본값입니다: https://review.openstack.org/#/c/182315/

사용하지 않는 기능

  • 트리 API 확장을 비활성화 하는 기능이 deprecated 되었습니다 (https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions)
  • 2.21.0 이후 novaclient.v1_1 모듈이 deprecated 되었으며 [[6]][[7]] Mitaka에서 첫 python-novaclient 릴리즈에서부터 제거될 예정입니다.
  • `novaclient.client.get_client_class` 메서드가 2.29.0 이후부터 deprecated 되었습니다 [[8]]. 해당 메서드는 Mitaka에세 제거될 예정입니다.
  • Weigher에서의 mute_weight_value 옵션이 Cells 사용을 포함하여 deprecated 되었습니다.
  • Libvirt 드라이버를 위한 remove_unused_kernels 구성 옵션이 이제 deprecated 되었습니다.
  • vcenter 드라이버와 함께 사용하는 vCenter 최소 권장 버전이 이제 5.1.0입니다. Liberty에서 이는 경고로 기록되며, 5.1.0 이전 버전에 대한 Mitata 지원은 제거될 예정입니다.
  • API v3에 특화된 모든 구성요소들은 deprecated되어 디폴트 paste.ini에서 제거되었습니다.

OpenStack Telemetry (Ceilometer)

새로운 주요 기능

  • 알람 서비스 핸들링을 위한 Aodh 생성.
  • 메타데이터 캐싱 - nova API 폴링에 대한 로드 감소.
  • Declarative (선언적) 미터
    • 미터 정의 뎀플릿을 정의하여 미터 생성 가능
    • 폴링을 통한 특정 SNMP 미터 정의 가능
  • Ceilometer로부터 Gnocchi로의 데이터 퍼블리싱 지원
  • 강제 제한 - 제한된 쿼리 상한선이 적용됩니다. 해당 상한선은 query에 명확히 제공되어야 하며, 그렇지 않은 경우 결과 집합은 디폴트 상한선에 의헤 제한됩니다.
  • 분산, 상호조절되는 notification 에이전트 - 여러 notification 에이전트에 걸쳐 workload 분할 지원
  • 이벤트 RBAC 지원
  • PowerVM 하이퍼바이저 지원
  • 향상된 MongoDB 쿼리 지원 - 통계 계산에 있어 성능 향상
  • 추가 미터 지원:
    • Magnum 미터
    • DBaaS 미터
    • DNSaaS 미터

Gnocchi 기능

  • 최초로 influxdb 드라이버가 구현되었습니다.

Aodh 기능

  • 이벤트 알람 - 이벤트를 수신하였을 때 액션을 트리거하는 기능
  • 알람에서의 Trust 지원 링크

업그레이드 노트

  • 하위 호환성을 위해 ceilometer에서 사용하던 몇몇 미들웨어 이름이 변경되었습니다. 업그레이드 이전, ceilometer에 대한 paste.ini 파일을 수정하여 oslo.middlewareoslo_middleware로 변경합니다. 예를 들면, sed -ri 's/oslo\.middleware/oslo_middleware/' api_paste.ini를 사용합니다.
  • Notification 에이전트는 Ceilometer에서 데이터를 수집하는 핵심 서비스입니다. 이제는 모든 transformation 및 퍼블리싱을 다룹니다. 폴링 에이전트는 이제 모든 처리를 notification 에이전트에 위탁하며, 함께 배포되어야 합니다.
  • 강제 제한은 각 요청에 적용됩니다. 상한선이 주어지지 않은 경우, 디폴트 상한선 값으로 제한될 것입니다.

사용하지 않는 기능

  • Ceilometer 알람은 deprecated되어 Aodh를 권장합니다.
  • RPC publisher 및 collector는 deprecated 되어 토픽 기반의 notifier publisher를 권장합니다.
  • Non-metric 미터는 여전히 deprecated이며, 향후 릴리즈에서 제거될 예정입니다.

OpenStack Identity (Keystone)

새로운 주요 기능

  • 실험적: 새로운 REST API를 사용하여 도메인 관련 구성 옵션을 구성 파일 대신 SQL에 저장할 수 있습니다.
  • 실험적: Keystone이 이제 X.509 SSL 클라이언트 인증서를 통한 토큰없는 권한 승인을 지원합니다.
  • Identity Provider 단위로 WebSSO를 구성하는 것을 지원합니다.
  • openstack_user_domainopenstack_project_domain 속성이 SAML assertion에 추가되어 사용자와 프로젝트 도메인을 각각 매핑하는 것이 가능해졌습니다.
  • Credential 목록 call이 이제 credential 유형에 의해 필터링이 가능해졌습니다.
  • 안정된 Driver 인터페이스를 정의함으로써 out-of-tree 드라이버를 위한 개선을 지원합니다.
  • Fernet 토큰, 페더레이션, 데이터베이스 및 role 할당으로부터의 도메인 관련 구성을 포함한 여러 기능이 강화되었습니다.
  • keystone.conf 내 특정 변수에서 옵션을 가져, 사용자 설정이 유효한지 여부를 결정합니다.

업그레이드 노트

  • Juno에서 사용하지 않도록 정한, EC2 토큰 미들웨어는 더이상 keystone에서 사용할 수 없습니다. keystonemiddleware 패키지로 이동하였습니다.
  • Juno에서 사용하지 않도록 정한, compute_port configuration 옵션은 더이상 사용할 수 없습니다.
  • XML 미들웨어 stub가 제거되었습니다. keystone-paste.ini 구성 파일에서 해당 참조를 제거해야합니다.
  • stats_monitoring과 stats_reporting paste 필터는 제거 되었습니다. keystone-paste.ini 구성 파일에서도 해당 참조를 제거해야합니다.
  • Icehouse에서 사용하지 않도록 정한 확장 인증 플러그인 ExternalDefault, ExternalDomain, LegacyDefaultDomain, LegacyDomain은 더이상 사용할 수 없습니다.
  • keystone.conf 는 드라이버에위한 새로운 entrypoint 이름입니다. 예를 들어, 드라이버는 이제 전체 모듈 경로보다는 "sql", "ldap", "uuid"로 지정됩니다. 다른 예제에 대해서는 샘플 구성 파일을 확인하십시오.
  • 파일 대신 keystone-manage 명령을 이용하여 entrypoint를 나타냅니다.
  • keystone-manage db_sync를 통하여 스키마 다운그래이드를 더이상 지원하지 않습니다. 오직 업그레이드만 지원합니다.
  • 이전 릴리즈에서 "확장"된 기능 (OAuth 위임, Federated Identity 지원, Endpoint 정책 등)은 기본으로 활성화됩니다.
  • 프록시 뒤에 keystone을 실행하는 경우, 새로운 secure_proxy_ssl_header 구성 옵션을 사용할 수 있습니다.
  • 여러가지 구성 옵션이 keystone.conf 파일에서 사용되지 않거나, 이름이 변경되고, 새로운 섹션으로 이동하였습니다.
  • 도메인 이름 정보는 domain_name 특성으로 정책 규칙에서 사용이 가능합니다.

사용하지 않는 기능

  • Eventlet remains에서 Keystone 작동은 사용할 수 없으며, Mitaka 릴리즈에서 제거됩니다.
  • LDAP를 사용하는 (프로젝트와 도메인에 대한) 리소스 백엔드는 더이상 사용하지 않습니다. Mitaka 릴리즈에서 제거됩니다.
  • 드라이버 클래스의 전체 경로를 사용하여 entrypoint를 사용을 허용하지 않습니다. Mitaka 릴리즈에서는 entrpoint 를 사용해야합니다.
  • keystone.conf 파일의 [resource]와 [role] 섹션에서 더이상 드라이버를 지정하거나 지정된 드라이버를 사용하지 않습니다. Mitaka 릴리즈에서는 [resouce]와 [role] 드라이버는 기본 SQL 드라이버를 사용하게됩니다.
  • keystone-paste.ini에서 사용하는 paste.filter_factory는 더이상 entrypoint를 지정하는 "use" derective의 허용은 사용되지 않습니다. (In keystone-paste.ini, using paste.filter_factory is deprecated in favor of the "use" directive, specifying an entrypoint.)
  • 기존 도메인에 falling back되는 의정성을 가진, 특정하지 않은 도메인에서 생성한 사용자, 그룹, 프로젝트 콜은 사용하지 않습니다. N 릴리즈에서 제거될 예정입니다. (Not specifying a domain during a create user, group or project call, which relied on falling back to the default domain, is now deprecated and will be removed in the N release.)
  • 할당 관라자에서 확실히 사용하지 않는 메서드는 [resource]와 [role] 매니저에서 동일한 메서드로 허락받아 제거됩니다.

OpenStack Block Storage (Cinder)

새로운 주요 기능

  • 제네릭 이미지 캐싱 솔루션을 지원하여, 대중적인 VM 이미지들을 캐싱하여 새로운 볼륨에 copy-on-write 상태로 둘 수 있습니다. 자세한 정보는 문서 참고
  • 무중단 백업 자세한 정보는 문서 참고.
  • 볼륨에 대한 consitency 그룹 복제 기능 자세한 정보는 문서 참고.
  • 백엔드 스토리기에 대한 기능 목록 (extra-spec 가져오기).
  • 중첩된 quota.
  • Thin provision이 사용 가능한 경우 기본 LVM 백엔드로 사용 가능.
  • cinder service-list를 수정하여 드라이버가 초기화 실패하였을 때 Down으로 표시합니다.
  • 개선된 볼륨 마이그레이션 관리:
    • 이전 마이그레이션 시도가 성공하였는지를 확인 가능
    • 관리자가 cinder list를 통해 마이그레이션 모니터링 가능
    • 마이그레이션이 일어나는 동안 다른 동작이 시도되는 것을 막기 위해 'maintenance'에 대한 새로운 볼륨 상태 추가
    • 마이그레이션이 이루어진 후 백엔드 볼륨에서의 name/id 일관성 개선

업그레이드 노트

  • RPC API로의 매개변수 변경을 통해 Liberty의 c-vol 또는 c-api 서바스가 Kilo 또는 이전 버전의 각 서비스와 함께 실행되는 것을 막도록 개체 전환이 이루어져야 합니다.

사용하지 않는 기능

  • Simple 및 Chance 스케줄러 제거
  • Deprecated 되었던 HDS HUS iSCSI 드라이버 제거
  • Coraid 드라이버 제거
  • Solaris iSCSI 드라이버 제거
  • 볼륨에 attach할 이미지 업로드를 허용하는 데 있어 --force 옵션 제거
  • v1 API를 deprecated로 구분

OpenStack Orchestration (Heat)

새로운 기능

Convergence

Convergence는 heat tree에서 개발이 진행 중인 새로운 오케스트레이션 엔진입니다. Liberty에서 convergence 엔진을 사용하였을 때의 이점은 다음과 같습니다:

  • 자원 액션에 대한 병렬 처리 개선 (규모가 큰 템플릿에 대한 보다 나은 스케일링)
  • 이미 업데이트가 진행 중일 때 stack-update 실행 가능
  • heat-engine 장애에 대한 처리 개선 (작업 중)

Convergence 엔진은 /etc/heat/heat/conf 에서 [DEFAULT] convergence_engine=true 로 설정 후 heat-engine을 재시작하여 활성화 가능합니다. 이 과정이 이루어진 이후에는, 기존 stack들에서의 동작들은 전통적인 엔진을 계속해서 사용하지만 이후 stack에 의해 생성되는 모든 것들은 convergence 엔진을 사용할 것입니다.

Convergence는 프로덕션 환경에서 테스트된 것은 아니고, beta 품질로 간주되며 주의하여 사용해야 합니다. Liberty 릴리즈에서는 평가 및 스케일링을 테스트하는 목적으로 convergence를 활성화할 것을 권장합니다. Mitaka 사이클에서는 기존 엔진으로 convergence로 사용할 것을 고려하고 있습니다. Convergence에 특화된 버그들은 convergence-bugs 태그를 사용하는 launchpad에서 추적됩니다.

조건에 따른 자원 노출

클라우드 서비스에 실제 설치된 자원들만 사용자에게 사용될 수 있습니다. 운영자는 또한 자원당 유형을 기반으로 하는 policy.json 내 표준 정책 규칙을 사용하여 사용자가 활용 가능한 자원을 제어할 수 있습니다.

heat_template_version: 2015-10-15

2015-10-15는 YAML 문서가 HOT 템플릿이고 Liberty 출시까지 추가 및/또는 삭제된 기능이 포함되어 있을 수 있음을 가리킵니다.

  • Fn::Select 기능 제거 (경로 기반 get_attr/get_param 레퍼런스를 대신 사용해야만 합니다)
  • <attribute name>이 get_attr에 대한 요청에서 지정되어 있지 않으며, 모든 속성에 대해 dict 형식으로 변환됩니다. 예: { get_attr: [<resource name>]}.
  • 새로운 str_split 내재 기능 추가
  • 기존 list_join 기능에 대해 다중 목록 전달에 대한 지원 추가
  • str_replacelist_join에 map/list 데이터를 파싱하기 위한 지원 추가 (자동으로 json 직렬화가 이루어집니다)

REST API/heatclient 추가 사항

  • Stack이 이제 tag 집합과 함께 할당 가능하고, stack-list는 해당 태그를 통해 필터 및 정렬이 가능합니다.
  • "heat stack-preview ..."는 제안된 stack-update에 대한 변화 미리보기를 반환합니다.
  • "heat template-validate --show-nested ..."는 모든 템플릿 자원에 대한 유효성을 검사하고 사용자 인터페이스를 만드는데 유용한 중첩 데이터를 반환합니다.
  • "heat resource-type-template --template-type hot ..."는 HOT 포맷의 템플릿을 생성합니다.
  • "heat resource-type-list"는 사용자가 사용 가능한 유형만을 보여주며, 이름, 버전 및 support_status로 결과를 필터링할 수 있습니다.
  • "heat template-version-list"는 사용 가능한 템플릿 버전 목록을 보여줍니다.
  • "heat template-function-list ..."는 템플릿 버전에 대해 사용 가능한 함수 목록을 보여줍니다.

기존 자원에서의 확장

새로운 리소스

다음 새로운 리소스는 Heat 릴리즈와 같이 배포되었습니다:

[1] Kilo에서 존재하던 이들은 비통합 프로젝트를 위한 contrib 자원이었습니다. 해당 자원들은 이제 Big Tent 프로젝트로 Heat와 함께 배포됩니다.

[2] 이들은 Kilo에서 admin role을 가진 사용자를 필요로 하는 contrib 자원으로 존재하였습니다. 이들은 이제 Heat와 함께 배포됩니다. 관리자는 권한이 낮은 사용자로부터 policy.json을 수정함으로써 이들을 숨김니다. (참고로, OS::Nova::Flavor는 제공되는 기본 policy 파일에 non-admin 사용자로부터 숨겨져 있습니다.)

[3] 이들은 Kilo에서 Heat 프로젝트에 의해 승인되지 않은 접근 방식을 사용하고 있어 contrib 자원으로 존재하였습니다. 이들은 이제 heat와 함께 배포되었고 UNSUPPORTED로 문서화되었습니다.

[4] 해당 자원은 아직 OpenStack Big Tent 프로젝트에 해당하지 않는 프로젝트이기에, UNSUPPORTED로 문서화되어 있습니다.


새로운 OS::Keystone::* 자원과 함께 클라우드 관리자가 heat 템플릿을 사용하여 Keystone 서비스 카탈로그 엔티티 및 사용자를 관리하는 것이 이제 가능합니다.

사용하지 않는 자원 속성

많은 자원 등록정보들이 이전에 DEPRECATED로 문서에 기록되었습니다. 해당 속성 중 15개는 이제 HIDDEN으로 취급되는데, 이는 더 이상 문서화되지 않음을 의미하지만, 기존 stack 및 템플릿이 heat 업그레이드 후에도 계속해 사용할 수 있습니다. 자원 유형 레퍼런스에서 사용 가능한 자원 등록정보 및 속성을 결정하기 위해 확인해야 합니다.

업그레이드 노트

구성 변경 사항

/etc/heat/heat.conf [DEFAULT] 섹션에서 주목할 만한 변화는 다음과 같습니다:

  • hidden_stack_tags가 추가되었고 해당 태그 이름을 포함하는 stack은 stack-list 결과로부터 숨겨져 있을 것입니다. (data-processing-cluster에는 디폴트로 sahara-created stack을 숨깁니다)
  • instance_user은 deprecated되었고, 전반적으로 제거되었습니다. OS::Nova::Server 자원으로 생성된 Nova 서버들은 이제 클라우드 이미지와 함께 디폴트 사용자 셋업을 통해 구성되어 부팅될 것입니다. AWS::EC2::Instance 는 여전히 "ec2-user"를 생성합니다.
  • max_resources_per_stack을 이제 -1로 설정하여 비활성화를 강제할 수 있습니다.
  • enable_cloud_watch_lite이 이제 디폴트로 false가 되어 해당 REST API가 deprecated됩니다.
  • default_software_config_transport에 ZAQAR_MESSAGE 옵션이 추가되었습니다.
  • default_deployment_signal_transport에 ZAQAR_SIGNAL 옵션이 추가되었습니다.
  • auth_encryption_key가 이제 정확히 32 문자를 필요로하는 것으로 문서화되었습니다.
  • list_notifier_drivers가 deprecated되어 이제 제거되었습니다.
  • policy 옵션이 [oslo_policy] 섹션으로 이동하였습니다.
  • use_syslog_rfc_format이 deprecated되어 이제 기본값은 true입니다.

heat.conf 다른 섹션에서의 주목할만한 변화:

  • [clients_keystone] auth_uri이 추가되어 버전이 지정되지 않은 keystone url을 지정합니다.
  • [heat_api] worker가 이제 디폴트로 4입니다 (이전에는 0으로, 호스트 CPU당 1개의 worker를 생성하였습니다).

/etc/heat/policy.json 정책 파일이 이제 자원 유형 당 접근하는 정책으로 구성 가능합니다. 예를 들면 다음과 같습니다:

   "resource_types:OS::Nova::Flavor": "rule:context_is_admin"

Kilo에서 Liberty로의 업그레이드

실시간 sql 마이그레이션을 지원하기 위한 진행이 이루어지고 있지만, 그러나 업그레이드 기간 동안 heat 서비스를 중지시킬 것을 여전히 권장합니다. 이전 버전의 SQL 스키마로의 마이그레이션은 더 이상 지원하지 않습니다. Kilo로 롤백하려면 업그레이드를 수행하기 전 데이터베이스의 스냅샷 복원을 필요로 할 것입니다.

OpenStack Data Processing (Sahara)

새로운 주요 기능

  • 새로운 플러그인 및 버전:
    • HDP 2.2 / 2.3를 지원하는 Ambari 플러그인
    • Apache Hadoop 2.7.1이 추가되었고, Apache Hadoop 2.6.0은 deprecated
    • CDH 5.4.0이 NameNode 및 ResourceManager를 위한 HA 지원과 함께 추가
    • MapR 5.0.0 추가
    • Spark 1.3.1이 추가되었고, Spark 1.0.0은 deprecated
    • HDP 1.3.2 및 Apache Hadoop 1.2.1 가 제거됨
  • Spark EDP jobs과 함께 Swift 사용 지원
  • CDH와 Ambari 플러그인에서 Spart EDP Job 지원 추가
  • public 및 protected 자원에 대한 지원 추가
  • OpenStack 클라이언트와의 통합 시작
  • 모든 Sahara 자원에 대한 편집 지원 추가
  • 클러스터에 대한 자동화된 Hadoop 구성 추가
  • Direct 엔진이 deprecated되어 Mitaka 릴리즈에서 제거 예정
  • 작업 바이너리 및 데이터 소스를 위한 저장소 backend 옵션으로 manila NFS 공유를 OpenStack에 추가
  • EDP 작업 템플릿에 대한 구성 인터페이스 정의 및 사용 지원

사용하지 않는 기능

  • Direct provisioning engine
  • Apache Hadoop 2.6.0
  • Spark 1.0.0
  • 모든 Hadoop 1.X 버전 삭제

OpenStack Search (Searchlight)

이번이 Searchlight 첫 릴리즈입니다. Searchlight는 사용자 검색 쿼리를 오프로딩함으로써 다양한 OpenStack 클라우드 서비스에 대한 검색 능력 및 성능을 극대화시켜 향상하는 데 목적을 두고 있습니다. Searchlight는 데이터를 ElasticSearch로 인덱싱하고 보안 계층을 유입되는 검색 쿼리 위에 제공함으로써 OpenStack 서비스에 걸쳐 Keystone RBAC 기반 검색을 제공합니다. ElasticSearch는 Lucene에 기반한 검색 서버입니다. 분산, 확장성 및 거의 실시간에 가까운, 다각적, 멀티테넌트 대응 및 full-text 검색 엔진을 RESTful 웹 인터페이스를 통해 제공합니다.

새로운 주요 기능

인덱싱된 새로운 자원 유형

업그레이드 노트

N/A

사용하지 않는 기능

N/A

OpenStack DNS (Designate)

새로운 주요 기능

  • 실험적 기능: Hook Point API
  • Horizon Plugin이 tree에서 이동되었습니다.
  • 삭제된 도메인 제거 (Purging)
  • 도메인당 주기적인 Ceilometer "exists" 이벤트
  • ASync 액션
    • Import
    • Export
  • designate-pool-manager 주기적 작업에 대한 Active / passive 장애조치
  • OpenStack 클라이언트 통합

추가 DNS 서버 백엔드

  • InfoBlox
  • Designate

업그레이드 노트

  • 새로운 서비스 designate-zone-manager
    • 지원되는 tooz 백엔드를 사용할 것을 권장합니다.
    • ZooKeeper 또는 tooz에 의해 지원되는 것을 권장합니다.
    • tooz 백엔드를 사용하지 않는 경우, 모든 zone-managers는 모든 zone에 대한 소유권이 있다고 가정할 것이고, 'n' 개의 "exists" 메시지가 시간 당 있을 것입니다. 'n'은 zone-manager 프로세스의 개수입니다.
  • designate-pool-manager는 주기적인 작업을 위한 active/passive 장애조치를 수행합니다.
    • 지원되는 tooz 백엔드를 사용할 것을 권장합니다.
    • tooz 백엔드가 사용되지 않는 경우, 모든 pool-manager는 pool에 대한 소유권이 있다고 간주하고, 여러 주기적인 작업이 실행될 것입니다. 이는 예기치 않은 결과를 초래할 수 있습니다.

사용하지 않는 기능

  • V1 API
    • 초기 공지 목적으로, V1에 통신하는 Designate CLI 인터페이스를 여전히 필요로 하는 작업이 있고, Horizon 패널은 오직 V1과 통신을 하고 있습니다.

OpenStack Messaging Service (Zaqar)

새로운 주요 기능

  • 사전 서명 URL - 새로운 REST API 엔드 포인트로 사전 서명 URL을 지원하여, 보안을 손상시키지 않고 공유되는 자원 전반에 충분한 제어를 제공합니다.
  • 이메일 Notification - notification 서비스를 위한 새로운 작업 드라이버로, Zaqar 가입자의 이메일 주소를 가져옵니다. Queue에 새로운 메시지가 있을 때, 가입자는 이메일을 통해 해당 메시지를 수신합니다.
  • 정책 지원 - 세부적인 권한 제어를 다른 OpenStack 구성 요소 대부분과 같이 policy.json에서 지원합니다.
  • Persistent 전송 - Azqar를 위한 persistent 전송 대산으로 websocket 지원이 추가되었습니다. 이제 사용자들은 오래 지속되는 연결을 응용프로그램과 Zaqar 사이에 만들어지도록 하여 많은 양의 데이터를 연결 셋업에 따라 추가되는 오버헤드없이 구성할 수 있습니다.

OpenStack Dashboard (Horizon)

새로운 주요 기능

  • 플러그인 개선 - Horizon에서 포함(inclusion)한 JavaScript 파일을 자동으로 확인(discover)하고, SCSS와 Django 템플릿을 덮어쓸 수 있는 플러그인 매커니즘을 가지고 있습니다.

업그레이드 노트

OpenStack Trove (DBaaS)

새로운 주요 기능

  • Redis
    • Redis를 위한 구성 그룹
    • 클러스터 지원
  • MongoDB
    • 단일 인스턴스에 대한 백업 및 복원
    • 사용자 및 데이터베이스 관리
    • 구성 그룹
  • Percona XtraDB 클러스터 서버
    • 클러스터 지원
  • 배포자가 인스턴스 flabor를 특정 데이터스토어와 연결 가능
  • 데이터베이스 클러스터를 위한 Horizon 지원
  • 데이터스토어 및 버전을 위한 관리 API
  • Trobe 인스턴스들을 하나의 관리 tenant에 배포하는 것이 가능해져, nova 인스턴스들이 사용자로부터 보여지지 않습니다.

OpenStack Bare metal (Ironic)

Ironic은 intermediate 릴리즈 모델로 변경되었고, 두 개의 작업 업데이트를 걸쳐 Liberty 동안 버전 4.0을 릴리즈하였습니다. 버전 4.2는 OpenStack 통합 Liberty 릴리즈의 기반을 형성하며 안정 업데이트를 받을 것입니다.

전체 릴리즈 노트는 여기를 살펴봅니다: http://docs.openstack.org/developer/ironic/releasenotes/index.html

새로운 기능

  • 새롭게 추가된 노드에 대한 디폴트 상태인 "ENROLL" 하드웨어 상태가 추가되었습니다.
  • 사용자가 특정 작업이 진행 중이더라도 중단을 허용하도록 하는 "abort" 조작 (verb)이 추가되었습니다.
  • REST API에서의 향상된 query 및 필터링 지원.
  • CORS 미들웨어를 위한 지원 추가.

하드웨어 드라이버

  • 기능을 DeployInterface로부터 분리하는 하드웨어 드라이버를 위한 새로운 BootInterface가 추가되었습니다.
  • iLO 가상 미디어 드라이버가 Swift 없이 동작 가능합니다.
  • Cisco IMC 드라이버가 추가되었습니다.
  • OCS 드라이버가 추가되었습니다.
  • UCS 드라이버가 추가되었습니다.
  • Wake-On-Lan 전원 드라이버가 추가되었습니다.
  • ipmitool 드라이버가 IPMI v1.5를 지원합니다.
  • “APC MasterSwitchPlus” 시리즈 PDU에 대한 SNMP 드라이버 지원이 추가되었습니다.
  • pxe_ilo 드라이버가 이제 UEFI Secure Boot (이전 릴리즈에서의 theiLO 드라이버는 agent_ilo 와 iscsi_ilo에 대해서만 지원)를 지원합니다.
  • 가상 미디어 지원이 iRMC 드라이버에 추가되었습니다.
  • BIOS 구성이 DRAC 드라이버에 추가되었습니다.
  • PXE 드라이버가 이제 GRUB2를 지원합니다.

사용하지 않는 기능

  • DriverInterface 에서의 "vendor_passthru"와 "driver_vendor_passthru" 메서드가 제거되었습니다. Kilo에서 deprecated되었었고 @passthru decorator로 대체되었습니다.
  • Nova "baremetal" 배포로부터 데이터를 가져오는 마이그레이션 도구가 제거되었습니다.
  • 주기적인 작업 decorator에 대한 "parallel" 옵션이 deprecated 되었습니다.
  • deprecated 되었던 ‘admin_api’ 정책 규칙이 제거되었습니다.
  • 기존 "bash" 배포 램디스크에 대한 지원이 deprecated되었고 두 (릴리즈) cycle 이내에 제거 예정입니다. ironic-python-agent 프로젝트가 모든 배포 드라이버에 대해 사용되어야 합니다.

업그레이드 노트

  • 새로 생성한 노드는 디폴트로 새로 추가된 ENROLL 상태입니다. 이전에는 노드의 디폴트 상태가 AVAILABLE로 하드웨어가 준비 상태가 되기 전에 Nova에 노출될 여지가 있습니다.
  • Kilo에서 API 버전 헤더가 추가되었다는 것은 Liberty API와 상호 작용을 하고자 하는 클라이언트는 각 HTTP 요청 문자열에 적절한 버전을 보내야 한다는 것을 의미합니다. 현재 API 버전은 1.14입니다.

OpenStack Key Manager (Barbican)

새로운 기능

  • 프로젝트 관리자가 프로젝트 단위로 인증 기관을 생성할 수 있는 기능이 추가되었습니다. 또한, 프로젝트 관리자는 프로젝트 단위로 선호하는 인증 기관 (CA) 집합을 정의하고 관리할 수 있습니다. 이를 통해 프로젝트에서 프로젝트에 특화된 보안 도메인을 실현 가능합니다.
  • Barbican이 이제 프로젝트 내에서 생성 가능한 Barbican 자원에 대한 수량을 제한할 수 있는 프로젝트 당 quota 지원을 갖습니다. 디폴트로 quota는 무제한으로 설정되고 Barbican 구성에 덮어씌울 수 있습니다.
  • 프로젝트 레벨 키 wrapping에 사용되는 마스터 키에 대한 rotating을 지원합니다. 이러한 lightweight 접근 방식으로는 프로젝트 레벨의 키 (KEK)만 새로운 마스터키 (MKEK)에 다시 wrapping됩니다. 이는 현재 PKCS11 플러그인에 대해서만 적용 가능합니다 (http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
  • Keystone, Nova 및 Manila 포맷과 매칭되는 버전 정보를 반환하도록 Barbican root 자원이 갱신되었습니다. 이는 keystoneclient에서 버전 정보를 포함하는 엔드 포인트 발견 기능으로 사용됩니다.
  • 모든 작업이 보통의 엔드 포인트에서 사용 가능하기에 관리자 엔드 포인트가 제거되었습니다. Oslo 정책을 통해 액세스 제한이 적용되기에 엔드 포인트를 구분할 필요가 없어졌습니다.
  • SQL 연결 관리를 위한 sqlalchemy 풀을 활성화하는 구성이 추가되었습니다.
  • GET /v1/secrets?acl-only=true 요청을 사용하여 ACL을 통해 접근 가능한 시크릿 목록을 살펴보는 기능이 추가되었습니다.
  • ACL 동작, RBAC 정책 및 시크릿과 관련한 Barbican API와 관련된 기능 테스트 범위를 개선하였습니다.
  • SnakeOil CA 플러그인 인스턴스에 대한 생성과 관련한 이슈를 수정하였습니다.
  • Barbican 클라이언트 CLI가 이제 인증을 위한 Keystone 토큰을 가져옵니다. 이전에는 사용자 이름 및 암호를 기반으로 한 인증만 지원하였습니다.
  • Barbican 클라이언트가 이제 인증서 순서에 대해 생성 및 목록화가 가능해졌습니다.

업그레이드 노트

OpenStack Image Service (Glance)

서비스 운영, 설치, 구성, 개발 및 사용에 대한 세부 사항을 포함하는 프로젝트 가이드가 업데이트되었습니다: http://docs.openstack.org/developer/glance/

새로운 주요 기능

업그레이드 노트

  • python-glanceclient는 Glance API v2를 기본으로 사용합니다. 만약 v2를 사용할 수 없다면 v1으로 작업합니다.
  • 백엔드 스토어에 대한 의존성이 이제 옵션으로 각 스토어에 명시된 것에 따라 설치됩니다.
  • Swift, s3, vmware와 같은 스토리지에서 Python 3를 지원합니다.
  • 새로운, 그리고 갱신된 디폴트 메타데이터 정의가 소스 코드와 함께 포함되었습니다.
  • 추가적으로 Glance API는 Python3를 지원합니다. 그리고 지속적인 호환성 지원을 위해 시험 기능이 계속 추가됩니다.
  • 백엔드 MySQL DB에서 utf-8이 기본 문자셋입니다.
  • 마이그레이션 스크립트가 갱신되어 테이블 문자셋에 대한 sanity 체크를 수행합니다.
  • 'ram_disk' 및 'kernel' 속성이 이제 스키마에서 null이 될 수 있으며 'id'는 이제 v2 API에서 읽기 전용 attribute입니다.
  • client_socket_timeout 구성 옵션이 추가되어 최신 eventlet 소켓 timeout 기능에 대한 이점을 누릴 수 있습니다.
  • scrub_pool_size 구성 옵션이 추가되어 scrubber가 디폴트로 1개의 병렬 스레드 개수를 사용하도록 설정할 수 있습니다.
  • Glance v1 API를 사용해 이미지 변경을 허용하였던 중요 버그가 수정되었습니다.

사용하지 않는 기능

  • 실험용 카탈로그 인덱스 서비스는 삭제되고 새롭게 Searchlight로 변경되었습니다.
  • Scrubber에 대한 파일 백업 큐링이 삭제되고 구성 옵션에서 scrubber_datadir, cleanup_scrubber, cleanup_scrubber_time 가 삭제되었습니다.

OpenStack Shared File System (Manila)

새로운 기능

  • 가용 구역을 구성하여 사용할 수 있습니다.
  • Share 인스턴스에서 관리자 API 구성 요소가 추가되었습니다.
  • 기존 공유 서버를 Manila scheduler를 통해 pool에서 새로운 공유 위치를 변경하는 poll weigher가 추가되었습니다.
  • hostpool에서 다른 hostpoll로 share에 대한 마이그레이션을 지원합니다. (테스트중).
  • 일반 드라이버에서 확장된 용량을 공유할 수 있도록 추가되었습니다. (Added shared extend capability in the generic driver.)
  • 동일한 시점에 생성된 여러 파일시스템 share에 대한 스냅샷을 생성할 수 있는 정합성(consistency) 그룹 추가를 지원합니다. (실험적 기능)
  • NetApp cDOT 드라이버와 일반 드라이버에서 정합성(consistency) 그룹을 지원합니다.
  • 씬 프로비저닝(thin provisioning)에서 oversubscription에대해 지원합니다.
  • 새로운 Windows SMB 드라이버:
    • Windows 서비스 인스턴스와 추출된(exporting) SMB share에 대한 핸들링을 지원합니다.
  • Manila API 서비스에서 전체 처리량에 대한 새로운 osapi_share_workers 구성 옵션이 추가되었습니다.
  • Share 드라이브 메서드 콜(각 'N' 틱에 대해 추가로 주기적인 훅 콜) 전과 후에 어떠한 작업을 진행(action)하고 드라이버 작업(action) 결과를 업데이트할 수 있는 share 훅 기능이 추가되었습니다.
  • NetApp cDOT 드라이버가 개선되었습니다:
    • 새로운 Manila 공유 백업을 FlexVol으로 생성할때, 변수 netapp:dedup, netapp:compression가 추가되었습니다.
    • 관리(manage)/관리안함(unmanage) 지원과 shrink_share 지원이 추가되었습니다.
    • extended_share API 구성 요소에대해 지원합니다.
    • 스토리지 배열(array)과 통신하는 netapp-lib PyPI 프로젝트를 지원합니다.
  • HP 3PAR 드라이버가 개선되었습니다:
    • 중복 제거(dedupe), 씬 프로비저닝 (thin provisioning) 및 hp3par_flash_cache 기능에대한 리포팅이 추가되었습니다. 공유 유형과 요청된 기능를 이용하여 호스트에 share를 위치시키는 CapabilitiesFilter를 사용할 수 있습니다.
    • 공유 서버 지원이 추가되었습니다.
  • Huawei Manila 드라이버가 개선되었습니다:
    • 스토리지 pool, extend_share, manage_existing, shrink_share, read-only share, smartcache, smartpartition에 대한 지원이 추가되었습니다.
    • 중복 제거(dedupe), 씬 프로비저닝 (thin provisioning) 및 압축 기능에 대한 리포팅이 추가되었습니다.
  • NVX Manila 드라이버에대해 접근 레벨(access-level) 지원이 추가되었습니다.
  • Manila HDS HNAS 드라이버 지원이 추가되었습니다.
  • GlusterFS 네이티브 드라이버가 추가되었습니다.
    • GlusterFS 드라이버는 호환되는 share 레이아웃 목록에서 새롭게 지정할 수 있습니다.
  • Microversion 지원이 추가되었습니다 (v2 API).

사용하지 않는 기능

  • share_reset_status API 구성 요소는 사용하지 않으며, share_instance_reset_status로 대신합니다.