ReleaseNotes/Havana/ko KR

= OpenStack 2013.2 (Havana) 릴리즈 노트 =

이 문서에서는 OpenStack 2013.2 (Havana)에서 중요한 새롭게 추가된 기능들, 알려진 버그, 업그레이드 팁들에 대해서 설명해주고 있습니다.

중요한 새로운 기능들

 * Global 클러스터 지원

Swift 1.8.0에 소개된 "region" 개념은 별도의 복제 네트워크를 사용하여 연관성 있는 읽기 및 쓰기 구성에 대한 지원을 추가하였습니다. 이러한 기능은 지리적으로 넓은 지역에 걸쳐 단일 Swift 클러스터를 지원하기 위한 것과 겸합니다.


 * 구성 파일 conf.d 지원 추가

Swift 데몬 및 서버를 구성 매개 변수를 디렉터리별로 구별하여 허용할 수 있습니다. 구성파일의 다른 부분은 별도로 관리할 수 있습니다. (예를 들어, 각 미들웨어에 사용하는 특정 구성 설정을 별도의 파일로 구성하여 사용할 수 있습니다.)


 * 디스크 성능

이제 오브젝트 서버는 스레드 풀을 사용하여 성능을 향상하고 시스템 전체의 대기 시간을 줄였습니다. 또한, 많은 디스크 운용에서 신뢰성과 성능 개선을 위하여 재구성되었습니다.


 * memcache 연결 폴링을 지원합니다.
 * Handoff 노드를 선택하기 위하여 더욱 빠른 계산을 합니다.

중요한 버그 수정 사항

 * Memcache 입력이 만료되지 않는 버그 수정
 * 프록시에서 클라이언트 연결 해제 후 스토리지 서버에서 계속 읽어오는 문제를 해결했습니다.
 * 버전 관리에서 UTF-8을 사용할 수 있도록 수정하였습니다.

추가적인 사용할 수 있는 polish

 * cpu_count에서 기본 WSGI workers 설정

1에서 auto로 WSGI workers에 대한 기본값을 변경합니다. 프록시, 컨테이너, 계정 및 오브젝트 WSGI 서버의 Workers에 대한 새로운 값은 CPU 코어에 맞게 프로세스당 더 많은 worker가 생성됩니다. 일부 구성에서는 맞지 않을 수 있습니다. 그러나 이것을 이용하게 되면 박스에 배포하는 것들을 성공적으로 진행할 가능성이 높습니다.


 * 프록시 서버에 의해 기록된 인증 토큰을 필터링하는 reveal_sensitive_prefix 구성 설정을 추가하였습니다.
 * 오브젝트 복제에서 handoff 파티션에 먼저 복제를 할 수 있게 되었습니다. 또한, 로컬 handoff 파티션을 삭제하기 전에 스토리지 노드가 교환할 원격 노드 수를 설정할 수 있게 되었습니다.
 * crossdomain.xml 미들웨어 추가. 자세한 내용은 http://docs.openstack.org/developer/swift/crossdomain.html 을 보십시오.
 * PyPy를 이용하여 Swift를 동작시키면서 많은 개선점을 얻었습니다.

알려진 이슈

 * Cell을 사용하는 경우 인스턴스를 삭제할 때 문제가 있습니다. Grizzly와는 달리 인스턴스를 삭제하려면 child cell에 해당 인스턴스 삭제를 통지하기 전에 인스턴스는 최상위 (API) cell에서 즉시 제거됩니다. 이것은 의도된 동작이 아닙니다. 이 부작용으로 delete.start와 delete.end 알림이 전송됩니다. child cell에서 인스턴스 삭제가 성공하면 두 번째 delete.start와 delete.end 알림이 전송됩니다. 실패하면 데이터베이스가 동기화되지 않은 상태가 되고, 인스턴스는 API cell에서 사라지고 있지만, child cell에 존재하는 상태가 됩니다. 이 버그는 출시 직후 havana-stable에서 수정될 예정입니다.
 * http://bugs.launchpad.net/nova 를 확인하세요.

업그레이드 노트
업그레이드 영향을 줄 수 있는 구성 변경 사항에 대한 모든 변경한 로그 노트는 https://github.com/openstack/swift/blob/master/CHANGELOG 에서 확인할 수 있습니다.

언제나처럼, Swift는 중지 없이 업그레드를 할 수 있습니다.

API

 * Compute (Nova) REST API에 실험용 최신 버전 (v3)가 추가되었습니다. 새로운 버전은 많은 API를 정리하는 동시에 확장 API에 버전을 붙여 구현하기 위한 프레임 워크가 됩니다. (blueprint).
 * Compute (Nova) REST API에 다음 확장 기능들이 추가되었습니다.:
 * CellCapacities: Cell의 RAM 총량과 사용하지 않는 RAM 용량을 확인할 수 있습니다. (blueprint).
 * ExtendedFloatingIps: 유동 IP 추가 명령에 fixed_address 매개 변수(선택 사항)가 추가되어 유동 IP에 연결할 고정 IP를 지정할 수 있게 되었습니다. (blueprint).
 * ExtendedIpsMac: 서버 응답에 MAC 주소가 추가되었습니다. (blueprint).
 * ExtendedQuotas: 기본값과 다른 tenant의 quota를 제거하고 기본 quota로 되돌릴 수 있습니다. (blueprint).
 * ExtendedServices: 서비스가 비활성화된 이유를 저장하고 표시하는 기능을 추가. (blueprint).
 * ExtendedVolumes: 인스턴스 정보에 연결된 볼륨을 확인할 수 있습니다. (blueprint).
 * Migrations: Cell 또는 Region 별 크기 조정과 마이그레이션 작동을 확인하는 목록 추가. (blueprint).
 * ServerUsage: 인스턴스 정보 표시 (instance show)에서 launched_at과 teminated_at 값을 얻을 수 있습니다. (blueprint).
 * UsedLimitsForAdmin: 관리자 API를 통하여 특정 tenant의 quota 제한 값을 가져올 수 있습니다. (blueprint).
 * Compute 서비스의 EC2 API에서 반환하는 오류 코드를 공식적인 EC2 API와의 일관성이 향상되었습니다. official EC2 API. (blueprint)

Cells

 * Cell 스케줄러 필터와 가중치를 추가하였습니다. [cells] 구성 그룹에 새로운 옵션 scheduler_filter_classes와 scheduler_weight_classes옵션을 설정할 수 있습니다. 그리고 ram_by_instance_type와 weight_offset 모듈이 새롭게 추가되었고, 이전 릴리즈에서 사용되었던 Cell 무작위 선택은 삭제되었습니다. 또한, 필터 클래스 TargetCellFilter를 통해 관리자가 스케줄러 팁을 이용하여 특정 Cell에 인스턴스를 생성하도록 지시할 수 있습니다. 이는 개념적으로 Cell 스케줄링은 기존의 호스트 예약과 같이 동작하게 됩니다. (blueprint)
 * 싱글 Cell에서 가상 머신 인스턴스 실시간 마이그레이션을 지원했습니다. Cell 간 실시간 마이그레이션은 지원하지 않습니다. (blueprint)
 * Cell을 사용하면 Cinder를 Nova에서 사용 가능합니다. (blueprint)

일반 사항

 * 사용 가능한 하이퍼 바이져에 Docker를 추가하여 Docker 컨테이너의 생성과 관리를 할 수 있습니다. (blueprint).
 * 인스턴스를 "shelve"하는 (보류하는) 기능이 추가되었습니다. 이 기능을 사용하면 장기간 중지된 인스턴스를 하이퍼바이저에서 삭제하고 리소스를 해제할 수 있습니다. (blueprint).
 * vendor_data 섹션이 메타데이터 서비스와 구성 드라이브 기능에 추가되었습니다. 이를 통해 메타데이터를 확장하여 공급 업체별 및 사이트 측정 데이터를 게스트로 사용할 수 있습니다. (blueprint).

Baremetal 드라이버

 * Tilera bare-metal 프로비저닝을 지원하는 백엔드가 bare-metal 드라이버에 추가되었습니다. (blueprint).

Hyper-V 드라이버

 * Windows Server / Hyper-V Server 2012 R2를 지원합니다. (blueprint).
 * VHDX 포맷 지원 (blueprint).
 * 다이내믹 메모리 지원 (blueprint).
 * Ephemeral 스토리지 지원 (blueprint).
 * Cellometer 연계용 Compute 계량 지원 (blueprint).

libvirt (KVM) 드라이버

 * QEMU 게스트 에이전트 (qemu-guest-agent)을 지원합니다. hw_qemu+guest_agent속성을 yes로 만들어 사용할 수 있습니다. ( blueprint).
 * 물리적인 Compute 노드에서 가상 게스트의 PCI 장치 통과를 지원합니다. 현재는 libvirt 드라이버에서 지원하고 있습니다. ( base blueprint, libvirt blueprint).
 * libvirt를 사용하는 하이퍼바이저에서 Cinder의 QoS 파라미터를 추출하여 그것을 기반으로 디스크 접근 속도 제한을 지원합니다. (blueprint).
 * IO Visor 가상 인터페이스 드라이버 추가 (blueprint).
 * Indigo Virtual Switch 가상 인터페이스 드라이버 추가 (blueprint).
 * Mellanox 가상 인터페이스 드라이버 추가 (blueprint).
 * RBD가 이미지들을 저장하기 위한 백엔드로 지원됩니다(blueprint).

PowerVM 드라이버

 * 하드 리붓 지원 추가 (change).

vmwareapi (VMWare) 드라이버

 * 관리 멀티플 클러스터 지원 (blueprint).
 * Cinder 드라이버 지원 (nova blueprint, cinder blueprint)
 * 이미지 복제 방법 지정 - 이미지에 링크를 통한 복제 또는 전체 복제 이미지 중 어떤 것을 사용할지를 지정 가능합니다. (blueprint)
 * 구성 드라이버 지원 (blueprint)

XenServer 드라이버

 * 서버 콘솔에 로그 보여주기 지원 (blueprint)
 * Xenapi에서 VHD의 최대 디스크 크기 제한으로 큰 ephemeral 디스크 크기를 1024GB 또는 2000GB의 거대한 묶음으로 디스크를 분활할 수 있습니다. (blueprint)
 * 이미지에 AutoDiskConfig=disabled를 설정할 수 있게 되었습니다. 사용자가 서버와 이미지에서 AutoDiskConfig=Manual 을 설정할 수 없습니다. (blueprint)
 * Nova와 Nova agent 통신 방법이 개선되어 cloud-init와 Nova agent를 같은 클라우드에서 사용할 수 있게 되었습니다. (blueprint)
 * Linux 배포판의 설치 프로그램이 실행 중인 상태에서 VM을 부팅시킬 수 있습니다. 이렇게 하면 사용자가 자신만의 이미지를 만들기가 쉬워집니다. (blueprint)
 * XenServer core 및 XenServer core의 Dom0에서 nova-compute 실행에 실험적으로 지원합니다. (blueprint)
 * LVHD 스토리지 SR 사용을 실험적으로 지원하고, 압축된 raw Glance 이미지에서의 부팅을 지원합니다. (blueprint)
 * 안정성과 편리성면에서 개선하였습니다. 예을 들어, glance에 보낼 스냅샷에서 사용되는 압축 비율을 설정하는 기능과 서버 디스크를 크기를 작게 수정할 경우, 디스크 크기가 너무 작아서 생기는 오류가 발생하면 자동으로 롤백합니다.

Quota

 * 미리 quota가 정해진 기본 quota 값을 편집할 수 있습니다. nova quota-class-update default  명령어를 이용하여 기본 quota를 사용할 수 있습니다. (blueprint)
 * Quota들을 사용자를 기준으로 정의해줄 수 있습니다 (blueprint).
 * 특정 tenant 및 사용자에 대한 quota를 제거할 수 있게 되었습니다. 이 경우 기본 quota로 되돌립니다. (blueprint).

네트워킹

 * 네트워크 및 IP 주소 할당이 인스턴스의 준비 시 다른 작업과 동시에 작업하게 되어 부팅 시간이 단축되었습니다. (blueprint).
 * 인스턴스에 할당된 Compute 노드의 호스트 이름을 Nova에서 Neutron으로 보낼 수 있습니다. Neutron 플러그인이 이 정보를 사용하여 Compute 노드의 물리적 네트워크 설정을 필요에 따라 변경합니다. (blueprint).

알림

 * 호스트 집계의 생성, 삭제, 확장, 축소나 그 이외의 업데이트 시 알림이 발생합니다. (blueprint).
 * 인스턴스 생성 실패시 알림이 발생합니다. (blueprint).

스케줄러

 * 필터 특성에 force_nodes가 추가되었습니다. Baremetal 드라이버 사용 시 인스턴스를 배치할 노드를 운영자가 명시적으로 지정할 수 있습니다. (blueprint).
 * IsolatedHostsFilter 제한을 느슨하게 할 수 있게 되었습니다. nova.conf에서 새로운 restrict_isolated_hosts_to_isolated_images 구성을 사용하여 고립된 호스트 (isolated host)에서 모든 이미지를 사용할 수 있습니다. (blueprint).
 * GroupAntiAffinityFilter와 반대되는 기능으로 GroupAffinityFilter가 추가되었습니다. 이 필터를 사용하면 특정 호스트 그룹의 호스트 인스턴스를 예약할 수 있습니다. (blueprint).
 * 새로운 run_filter_once_per_request 매개 변수를 True로 설정하는 기능을 필터 그룹에 추가하였습니다. 이것을 True로 설정하게 되면 필터 설정에서 모든 인스턴스에 남기게 됩니다. 그리고 필요하다면 필터에 걸러진 인스턴스들이 재실행되는 것을 막습니다. 이 설정은 기존 필터 군의 대다수에 적용됩니다. (blueprint).
 * 집계 단위 필터로 AggregateRamFilter와 AggregateCoreFilter가 추가되었습니다. 이들은 시스템 전체가 아닌 호스트 집계에 적용됩니다. AggregatediskFiler는 다음 릴리즈에 추가됩니다. (blueprint).
 * 모든 컴퓨팅 노드에서 모든 스케줄러에 정기적으로 브로드케스트 메시지를 제거하면서 스케줄러의 성능이 개선되었습니다. (blueprint).
 * 여러 인스턴스의 요청에 필터가 한 번만 실행되도록 필터에 지정할 수 있게 하여 스케줄러의 성능이 향상되었습니다. (blueprint).

스토리지

 * 연결한 Cinder 볼륨을 암호화 할 수 있게 되었습니다. 데이터를 읽고 쓸때 필요한 암호입니다. 암호화는 도지만 인스턴스에서는 일반적인 블록 저장 장치로 보입니다. (blueprint).
 * 인스턴스에 연결된 Cinder 볼륨을 명료하게 교환하는 기능이 추가되었습니다. 볼륨을 교환하고 있는 동안 잠시 중단이 가능하며, 볼륨의 쓰기와 읽기에는 손실이 없습니다. (blueprint).
 * NFS 또는 GlusterFS에 있는 볼륨을 연결할 때, Nova는 Cinder에서 설정된 마운트 옵션을 사용하게 되었습니다. 이전에는 볼륨에 접근하는 각 Compute 노드에서 마운트 옵션을 설정해야 했습니다. (blueprint).
 * 네이트브에서 GlusterFS 지원이 추가되었습니다. nova.conf에서 qemu_allowed_storage_drivers가 gluster에서 설정된 경우, QEMU는 fuse를 통하지 않고 libgfapi을 사용하여 볼륨에 직접 접근 가능하도록 구성합니다. (blueprint).
 * GuslsterFS처럼 스냅샷을 자체적으로 지원하지 않는 스토리지를 백엔드에서 사용하는 경우에도 Cinder 볼륨 스냅샷을 생성하는 기능을 제공하기 위해서 QEMU의 스냅샷 기능을 사용할 수 있게 되었습니다. (blueprint).
 * 스토리지에 엑세스 iSER 전송 프로토콜을 지원합니다. TCP에서 iSCSI에 비해 좋은 성능을 얻을 수 있습니다. (blueprint).

Conductor

 * Conductor는 여러 worker 스레드를 시작하고 병렬로 동작할 수 있습니다. 실행할 스레드 수는 nova.conf의 workers에 값으로 결정됩니다. (blueprint).

내부 변경 사항

 * Nova는 Oslo에서 제공하는 공통의 서비스 인프라를 사용할 수 있습니다. (blueprint).
 * 데이터베이스 마이그레이션시 필요한 버그 수정을 백포팅 할 수 있도록 변경하였습니다. (blueprint).
 * Nova 시스템의 라이브 업그레이드 지원을 위해 많은 개선을 했습니다. Havana는 서비스 간에 전송되는 메시지의 버전 제어 (nova.conf의 [upgrade_levels] 색션 참조) (blueprint) 와 코드와 데이터 페이스 스키마에 대한 자세한 분리를 쉽게하는 오브젝트 계층 (blueprint) 등의 개선이 이루어졌습니다.

알려진 이슈

 * Cell을 사용하는 경우 인스턴스를 삭제할 때 문제가 있습니다. Grizzly와는 달리 인스턴스를 삭제하려면 child cell에 해당 인스턴스 삭제를 통지하기 전에 인스턴스는 최상위 (API) cell에서 즉시 제거됩니다. 이것은 의도된 동작이 아닙니다. 이 부작용으로 delete.start와 delete.end 알림이 전송됩니다. child cell에서 인스턴스 삭제가 성공하면 두 번째 delete.start와 delete.end 알림이 전송됩니다. 실패하면 데이터베이스가 동기화 되지 않은 상태가 되고, 인스턴스는 API cell에서 사라지고 있지만, child cell에 존재하는 상태가 됩니다. 이 버그는 출시 직후 havana-stable에서 수정될 예정입니다.
 * http://bugs.launchpad.net/nova 를 확인하세요.

업그레이드 노트

 * 반복 작업이 이전보다 더 자주 실행되니 그점 을 유의하십시오. 반복작업의 빈도는 이전부터 설정 가능합니다. 이전 작업을 언제 다시 실행하거나 타이머가 작업의 마지막 실행이 완료된 시점에서 시작되어 있었습니다. 현재는 작업을 수행하는 데 걸린 시간과 관계없이 작업이 일정한 간격으로 실행됩니다. 그러면 언제 작업이 실행되는지가 더 명확해집니다. 한편, 부작용으로는 기본적으로 작업이 이전보다 조금 더 자주 실행되게 됩니다. (https://review.openstack.org/#/c/26448/)
 * security_groups_handler 옵션은 nova.conf에서 제거되었습니다. 이 옵션은 Quantum에 대해 추가되었지만 더는 필요하지 않습니다. (https://review.openstack.org/#/c/28384/)
 * 이 변경사항은 업그레이드에 영향은 없지만 모든 새로운 배치에서 동작이 바뀝니다. 이전 버전에서는 기본 m1.tiny flavor는 디스크 크기를 0으로 만들어야 했습니다만 이번에는 기본값이 1로 변경되었습니다. 0은 디스크의 크기 변경에 대해서 일절 작동하지 않았으며, 이미지가 어떤 디스크 크기로 만들어진다고 하더라도 그것을 사용하는 것을 의미합니다. 1은 1GB 제한을 부가하는 것으로 의미를 확인하시면 됩니다. 특별한 값인 0은 현재도 지원되며, 필요한 경우, flavor의 작성이나 변경해서 값을 사용할 수 있습니다. (https://review.openstack.org/#/c/27991/).
 * 플러그인 프레임워크에서 볼 수 있던 것을 다른 방법으로 실현한 플러그인 프레임워크는 삭제되었습니다. (https://review.openstack.org/#/c/33595)
 * notify_on_any_change 설정 옵션이 제거되었습니다. (https://review.openstack.org/#/c/35264/)
 * compute_api_class 옵션은 사용을 자제하시기 바라며, 다음 릴리즈에서 제거됩니다. (https://review.openstack.org/#/c/28750/)
 * Nova에서는 Quantum에서 이름이 변경된 Neutron을 사용합니다. (https://review.openstack.org/#/c/35425/)
 * 여러 Neutron 네트워크가 정의되어 있지만, 서버 생성요청에서 네트워크를 지정하지 않는 경우, Nova에서는 서버를 만드는 요청을 거부하게 되었습니다. 이전에 서버에 *모두* 네트워크가 연결되어있어야 했었습니다만, 이 동작은 의미가 없다는 합의가 있었습니다. (https://review.openstack.org/#/c/33996/)
 * VMware 설정 옵션 'vnc_password'는 삭제되었습니다. VNC 접속시 사용자가 암호를 입력하라는 메시지는 없어졌습니다. 다른 모든 가상화 드라업에서 같은 동작을 합니다. (https://review.openstack.org/#/c/43268/)

특성 보호
특정 사용자 그룹에 모든 엔티티 다른 속성을 작성, 갱신, 읽기 권한을 부여할 수 있습니다. 이미지 서비스 중에서 이미지 속성에는 두 가지 속성이 있습니다.
 * 핵심 속성, 이미지 스키마에 의해 지정
 * 메타 속성, 이미지에 부여할 수 있는 모든 키/값.

이미지 서비스의 공용 API 호출을 통하여 메타 속성에 대한 접근은 속성 보호 설정 파일 (glance-api.conf 파일에서 지정)을 사용하여 특정 사용자 그룹으로 제한할 수 있습니다. 예:
 * 모든 속성 작업을 관리자로 제한.
 * 관리자 및 청구 기능을 가진 사용자 모두에 ``x_billing_code_``로 시작하는 모든 속성의 읽기, 수정권한을 부여.

blueprint

레지스트리 API
레지스트리 서비스에 RPC-over-HTTP를 사용하여 (db_api 호환) 새로운 API가 준비되어있습니다. 이 API는

blueprint
 * 새로운 Glance가 초기 레지스트리 서비스를 사용하는 이전 버전의 Glance 시스템의 지원을 계속 할 수 있도록 합니다. Glance v2는 레지스트리 서비스 이용을 완전히 폐지하고 있기 때문에 일이 어떤 경우에 보안 취약하게(퍼블릭 서비스로 설치된 경우, 모든 데이터베이스 매개 변수를 glance-api.conf에 작성해야 했었습니다.) 될 가능성이 있었습니다.
 * 레지스트리 API를 수정하지 않고 데이터베이스 API에 새로운 메소드를 구현하기 쉽습니다.

이번 업데이트는 직접 데이터베이스 백엔드와 통신을 하는 것과 마찬가지로, 원격 레지스트리 서비스와 통신하는 레지스트리 데이터베이스 드라이버를 포함합니다. 레지스트리 서비스는 모든 데이터베이스 API 공통 기능을 구현하고, API를 외부에서 사용합니다. 이미지 서비스의 API v2는 활성화해야 하며, 이미지 서비스 클라이언트는 이 API를 사용해야 합니다. blueprint

스토리지 지원
이미지 서비스는 아래의 백엔드 스토리지를 지원합니다.

"Sheepdog Website" blueprint
 * Sheepdog: 이미지 서비스는 이미지를 백엔드 Sheepdog 클러스터에 저장할 수 있습니다. Sheepdog는 QEMU용 분산 스토리지 시스템을 제공하는 오픈소스 프로젝트입니다.
 * Cinder: OpenStack Cinder를 이미지 서비스 블록 스토리지 백엔드로 사용할 수 있습니다. blueprint
 * GridFS: 이미지 서비스는 GridFS 분산 파일 시스템을 지원합니다. 지원을 활성화 하려면 설정 옵션 mongodb_store_url과 mongodb_store_db를 사용합니다. `gridfs://`형식으로 GridFS 위치를 지정하여 사용합니다. "GridFS Website" blueprint

멀티 이미지 위치
이미지 서비스의 이미지를 여러 위치에 저장하는 것이 가능하게 되었습니다. 이렇게 하면 이미지 데이터의 효과적인 이용과 첫 번째 이미지의 사고에 대비하여 백업 이미지를 사용할 수 있습니다. blueprint

관련 업데이트:


 * 위치 API용 policy 레이어: 이미지 위치를 변경할 것을 policy로 확인 가능. blueprint
 * 직접 연결 URL 메타데이터: 각 이미지 서비스 스토리지 시스템은 이미지 위치 데이터베이스에 위치 메타데이터를 저장할 수 있게 되었습니다. 그러면 direct_url을 활성화하게 되면 클라이언트에 직업 URL 지정 메타데이터를 반환할 수 있습니다. 예를 들어, 'file://URL'에 대해 NFS 내보내기 호스트, 마운트 지점 FS 유형을 클라이언트에 반환할 수 있습니다. blueprint
 * 이미지 다운로드시 여러 위치에서 내려받을 수 있게 지원: API 클라이언트가 여러 백엔드 저장소에서 이미지를 사용할 수 있도록 합니다. blueprint
 * 인덱스 된 체크섬 이미지 속성: 체크섬 이미지 속성을 인덱스 할 수 있게되었습니다. 이렇게 하면 사용자가 체크섬을 지정하여 이미지를 검색할 수 있습니다. blueprint
 * Scrubber 업데이트: Scrubber는 삭제된 이미지를 정리하는 유틸리티입니다. Scrubber가 pending_delete 이미지에 대해 여러 위치에 대응하게 되었습니다. blueprint
 * 메타데이터 확인: 위치 변경 시 이미지 위치 프록시 계층에서 메타데이터의 체크를 할 수 있게 되었습니다. blueprint

더 있습니다.

 * 컨테이너와 디스크 포맷 설정: Glance는 기존에는 컨테이너와 디스크 포맷에 대해서는 분명한 설정이 있는 경우에만 지원하였습니다. 드물게 실제 형식으로 포맷 지원이 된 경우가 있었습니다. 이 설정으로 사용 가능한 컨테이너와 디스크 포맷을 구성할 수 있습니다. blueprint
 * 스토리지 Quota: 사용자는 모든 스토리지 시스템 간의 (총) 몇 바이트로 제한할 수 있게 되었습니다. (.conf 파일에서 total_storage_quota 구성을 사용) blueprint
 * 멤버십 Policy: 멤버 자격 API에 정책 제약 조건이 추가되었습니다. (이미지/위치 Policy 제약뿐 아니라). 새로운 policy는 new_member, add_member, get_member, modify_member, get_members, delete_member를 포함합니다. blueprint

알려진 이슈
* http://bugs.launchpad.net/glance 를 확인하세요.

릴리즈 개요
Havana 릴리즈에서는 *세 가지* 새로운 프로젝트를 지원합니다. 그리고 기존 프로젝트에서도 중요한 기능이 추가되었습니다. 최종 사용자와 관리자에게도 많은 면에서 UX 개선이 이루어졌습니다. 커뮤니티는 계속 성장하고 확장하고 있습니다. Havana 릴리즈는 OpenStack Dashboard 프로젝트에서 가장 좋은 릴리즈입니다.

Heat
OpenStack Orchestration 프로젝트 (Heat)가 Havana에서 추가되었습니다. Horizon은 Heat 스택 관리를 모두 지원합니다. 특별한 점은 Heat 템플릿 형식으로 동적 템플릿 포맷 생성 기능, 스택 토폴러지 시각화, 전체 스택 지원 검사를 지원하고 있습니다.

Ceilometer
Havana에 추가된 또 다른 프로젝트인 OpenStack Metering 프로젝트 (Ceilometer)입니다. Horizon의 첫 번째 Celiometer 지원으로 관리자가 OpenStack Dashboard에서 클라우드 리소스의 사용량을 문의하여 시스템이 어떻게 작동하고 이용하고 있는지 쉽게 이해할 수 있습니다.

도메인, 그룹 및 기타 더 : Identity API v3 지원
OpenStack Identity 서비스 (Keystone) v3 API는 Havana 릴리즈에서 충분히 완성되었습니다. Horizon은 도메인 및 그룹, Role 관리 및 도메인이나 그룹에 할당된 도메인 기반 인증, 도메인 컨텍스트 스위치 등 Keystone v3 API의 모든 기능을 지원합니다.

Trove 데이터베이스
OpenStack Database as a Service 프로젝트 (Trove)입니다. Trove가 Havana에서 인큐베이터 단계에서 졸업했습니다. Trove 데이터베이스 및 백업 프로비저닝 관리를 OpenStack Dashboard에서 할 수 있도록 해준 분들에게 감사합니다. 또한, Trove의 첫 번째 릴리즈를 Icehouse에서 합니다. 따라서 이 기능은 실험적으로 사용하여야 하며, 기능이 변경될 수도 있습니다.

Nova 기능
Horizon에서 지원되는 OpenStack Compute (Nova) 기능은 계속 증가하고 있습니다. Havana 릴리즈에 추가된 새로운 기능은 다음과 같습니다.:


 * 기본 qouta 수정
 * 관리자가 인스턴스/서버 비밀번호 재설정.
 * 가용성 존 지원.
 * Region 지원 개선
 * 인스턴스 크기변경
 * 볼륨 부팅 기능 개선
 * 프로젝트 단위로 flavor 기능 지원

이러한 기능을 통해 언제, 어디서, 어떻게 인스턴스를 시작하거나 제어하거나 이미 시작된 실행 중인 인스턴스 관리에 더 많이 사용할 수 있게 되었습니다.

Neutron 기능
많은 중요한 OpenStack Networking (Neutron) 기능을 Havana에서 사용할 수 있게 되었습니다. 주요 기능은 다음과 같습니다.


 * VPN as a Service.
 * Firewall as a Service.
 * 대화형 네트워크 토폴러지 편집 기능
 * Neutron과 Nova network 간 호환되는 완벽한 보안 그룹 및 quota 지원

이러한 기능은 Neutron을 이용하여 클라우드를 매우 유연한 SDN으로 구축할 수 있습니다.

사용자가 암호 변경 가능
Identity API v2.0 (Keystone)의 변경에서 사용자가 자신의 암호를 관리자 권한 없이도 변경할 수 있습니다. 보안으로 더 공고히 되었고, 사용자에게 편리성을 제공할 수 있습니다. 이 기능은 Identify API v3에는 제공되지 않습니다.

개선된 관리자 정보 구성
관리자 대시보드 항목이 정렬하여 그룹화가 더 논리적으로 변경되었습니다. 또한, 새로운 정보가 추가되어 관리자가 클라우드에 호스트 상태를 파악하고, 호스트 집계 및 가용성 영역 등과 관련성을 이해하기 쉬워졌습니다.

사용자 로그 아웃 메시지 개선
예기치 않게 로그인 화면이 표시될 때, 왜 로그아웃되었는지 사용자에게 알리는 메시지가 일부 추가되었습니다. 이 메시지는 사용자 세션이 만료되었는지, 작업이 없었기에 초과 되었거나 접근이 허용되지 않았는지, 대시보드 페이지에 접근하려고 하였는지를 명확하게 표시해줍니다.

보안 그룹 템플릿
보안 그룹에 (SSH 및 Ping같이) 매번 다시 추가하는 것이 지루하고 매우 자주 사용되는 규칙이 있습니다. 그래서 Horizon 팀은 자주 사용되는 규칙에 대해 미리 정의된 템플릿을 제공하고 2번의 클릭으로 보안 그룹에 추가할 수 있도록 하였습니다. 이러한 규칙은 SECURITY_GROUP_RULES 설정에서 변경할 수 있습니다.

번역팀
OpenStack 번역팀은 Havana 릴리즈에서 독립된 한 팀으로 활동하게 되고, Horizon의 번역 품질은 지금보다 더 좋아졌습니다. 원래 OpenStack Dashboard 프로젝트의 목적으로 시작된 커뮤니티 형성이 성공한 것을 축하합니다.

사용자 경험 그룹
Havana 릴리즈로 OpenStack 사용자 경험 (UX)팀이 형성되었습니다. 이 팀은 신생팀입니다만, OpenStack 전체를 통한 사용자 경험의 향상을 목표로 하고 있습니다. 이 팀은 OpenStack Dashboard의 설계 및 개선에서 빠뜨릴 수 없는 존재가 되었습니다.

LESS 컴파일의 복잡성 감소: NodeJS 사용 안 함
다양한 사람들의 항의 목소리가 있었던 Python 커뮤니티의 LESS 지원이 큰 개선이 되었기에, Horizon에서는 NodeJS 관련 요소를 모두 제거하였습니다. 현재 lesscpy 모듈을 사용하여 LESS 파일에서 최종적인 스타일 시트로 컴파일합니다. 이것은 대부분 사용자에게 전혀 영향을 주지 않지만, Horizon을 사용하는 배포판 등에서는 사용이 편해질 것입니다.

Role-Based 접근 제어
Horizon은 파일이 있으면 다른 OpenStack 프로젝트 policy.json 파일을 사용하여 대시보드에서 접근 제어를 수행하도록 마이그레이션을 시작했습니다. 이렇게 하면 접근 제어는 더 세세하게 설정할 수 있으며 원래 프로젝트와 Horizon 사이의 접근 제어가 일관성 있는 상태로 유지할 수 있게 됩니다. 현재 이 기능은 Keystone 및 Nova의 일부 정책 파일에 대해서만 지원되고 있습니다. 다음 릴리즈에서는 완전히 지원될 예정입니다. 이 기능을 사용하려면 POLICY_FILES_PATH와 POLICY_FILES를 설정해야 합니다.

기타 개선 사항

 * Swift 컨테이너 및 오브젝트 메타데이터 지원
 * Quota 사용에서 새로운 표시 방법
 * Neutron 이용 시 Cisoco N1K 라우터 플러그인 추가 대시보드
 * 자체 서명 또는 다른 인증, SSL 인증서 확인 기능
 * Glance 이미지 형식별로 구성 가능
 * 페이지마다 분류 기능 추가
 * API 호출의 효율성 최적화
 * 필수 필드 표시 개선
 * 보안 관점에서 일정 기간 작업이 없으면 사용자를 로그 아웃 시킬 수 있는 세션 제한 시간을 설정 가능
 * PEP8 및 코드 품질 기준에 준수하기 위한 많은 개선
 * 수백 개의 버그 수정 및 결함에 대한 개선

허용할 호스트
제품 환경에서 Horizon을 배포하려면 settings.py 파일 또는 local_settings.py 파일의 ALLOWED_HOSTS 설정을 추가해야 합니다. 이 설정은 Django 1.5에서 추가된 중요한 보안 기능입니다. 자세한 정보는 Django 문서 local_settings.py.example 파일을 참조하세요.

Keystone과 Neutron 기능 활성화
기존 설정 파일 OPENSTACK_KEYSTONE_BACKEND 또는 OPENSTACK_NEUTRON_NETWORK 설정을 하고 있다면, local_settings.example.py 를 확인하여 추가된 새로운 옵션을 확인하는 것이 좋습니다. 기존 구성에서 그래도 움직입니다만, 그대로는 Havana에서 추가된 기능 중 일부를 사용하는데 필요한 항목이 없는 경우가 있습니다.

세션 생성 및 상태 점검
세션 백엔드로 데이터베이스를 사용하는 환경에서 홈페이지 ping을 수행 상태 모니터 서비스를 사용하는 경우, 세션 생성이 과도하게 발생할 수 있습니다. 이 문제는 곧 해결 될 껍니다 만, 그것에 대한 대책으로 세션 저장소에서 만료된 세션을 장기적으로 제거하는 작업을 생성할 것을 권장합니다.

일제히 대량 자원을 삭제하는 문제
많은 리소스를 한꺼번에 제거하기 위해 'sellect all' 확인란을 사용하면 (설정에 따라서) 네트워크 시간 초과가 발생할 수 있습니다. 이것은 뒤에서 사용하는 API가 bulk-deletion (여러 리소스 정리 삭제)를 기본적으로 지원하지 않기 때문입니다. 따라서 Horizon은 이런 경우, 내부적으로 각 자원에 대해서 하나씩 제거 요청을 보내게 됩니다.

Neutron 보안 그룹 이름의 충돌 문제
Nova Network는 인스턴스 시작 보안 그룹을 지정하면서 보안 그룹 이름만 가졌지만 Neutron은 이름에서도 UUID를 받아들입니다. 이 두 가지 경우를 대응하기 위해 Horizon은 선택된 보안 그룹의 이름을 Nova에 전달합니다. 그러나 관리자나 사용자가 다른 프로젝트에 같은 이름의 다른 보안 그룹이 있는 경우, 관리자와 사용자가 보안 그룹을 지정 시 Neutron 데이터 분리 문제가 발생합니다. Neutron은 그 이름에 맞는 보안 그룹을 찾으면서 인스턴스 시작이 실패합니다. 현재 해결방법은 관리자에서 고유 이름으로 보안 그룹을 지정하는 것입니다.

호환성
Havana Horizon 릴리즈는 다른 OpenStack 핵심 프로젝트 (Nova, Swift 등)들과 Havana와 Grizzly 버전 모두에 완벽한 호환을 이룹니다. 당연한 이야기지만 다른 OpenStack 프로젝트 Grizzly에는 없는 새로운 기능을 Horizon에서 작동하는 다른 프로젝트에서 지원하는 경우가 있습니다.

전체적으로 보면, 지금까지 Horizon을 사용하여 기능을 만들어 온 3rd party 개발자를 위한 후방 호환성을 유지하기 위해 많은 노력이 이루어졌습니다.

중요한 새로운 기능들

 * 도입의 유연성 개선
 * "assignments" 드라이버에 의해 결정되는 허용 데이터 (tenants/프로젝트, 롤, 롤 할당. 예: SQL)을 "identity" 드라이버에 의해 결정되는 인증 데이터 (사용자, 그룹, 예: LDAP)와 다른 백엔드에 저장할 수 있게 되었습니다.
 * "credentials" 드라이버에 의해 결정되는 자격 증명 (예: ec2 토큰)을 인증 데이터와 다른 백엔드에 저장할 수 있게 되었습니다.
 * 더 세밀한 RBAC 정책 규칙 (예: API 요청 / 응답 내용의 특성 항목에 따라 규칙)을 지정할 수 있게 되었습니다.
 * 를 이용한 외부 인증 플러그인으로 처리 가능.
 * 토큰 생성: pluggable과 토큰의 지속성이 분리되었습니다. 토큰 생성은 현재 UUID기반 과 PKI 기반으로 생성됩니다. 운영자는  인터페이스 자체 구현을 만들 수 있고 그것을 사용하도록 keystone에   및 설정을 할 수 있습니다. 따라서 새로운 구성 옵션 때문에  이 폐기되었습니다.
 * Apache httpd를 사용하여 구축하는 것을 공식적으로 지원합니다.
 * 새로운 기능
 * 키-값 스토어 (예, memcashed, redis)에 드라이버 호출의 결과를 캐시할 수 있습니다.
 * 명령으로 만료된 토큰을 일괄 삭제할 수 있습니다.
 * 새로운 API 기능
 * 롤 기반 인증을 OAuth1.0a를 사용하는 모든 사용자에게 허가할 수 있습니다.
 * API 클라이언트가 토큰 응답에 포함된 서비스 카탈로그를 선택할 수 있게 되었습니다.
 * 도메인 롤 할당을 도메인 프로젝트로 전파할 수 있게 되었습니다.
 * 롤 할당 API를 통합했습니다
 * 외부 인증 제공자가 토큰에 바인딩을 참조할 수 있도록 통합하였습니다. 이를 통해 원격 서비스를 옵션으로 사용자가 제시하는 토큰의 정체성을 외부 인증 메커니즘으로 확인할 수 있습니다. 지금은  만 지원됩니다.
 * 엔드포인트를 명시적으로 프로젝트에 매핑 할 수 있게 되었습니다. 그러면 토큰의 프로젝트 범위에 따라 특정 엔드포인트가 서비스 카탈로그에 표시되는 것을 효율적으로 제어할 수 있습니다.
 * 사용자 및 프로젝트 / Tenant 생성, 업데이트, 삭제 작업을 위해 이벤트 알림이 발생합니다.
 * 전체적으로 성능이 향상되었습니다.
 * v2 와 v3 API를 인증 사용자 및 프로젝트 양방에 할당할 롤 목록을 계산하기 위해 사용자 + 그룹, 그룹 + 프로젝트, 사용자 + 상속 도메인, 그룹 + 상속 도메인 롤 할당에 따라 같은 논리를 사용하게 되었습니다. (도메인에 상속된 롤 할당은 도메인 수준 롤 할당이 해당 도메인 소유한 모든 프로젝트에 적용할 경우입니다.). v3 API는 이제 computing 사용자+도메인 롤을 도메인 범위 토큰에 대해 비슷한 방법을 사용하게 되었습니다.
 * 로그가 Oslo-incubator의 공통 로깅 구현을 사용하여 처리하게 되었습니다. 다른 OpenStack 프로젝트와 일관성을 유지하게 되었습니다.
 * 를 사용하여 확장에 대한 SQL 마이그레이션을 기본 마이그레이션 저장소에서 독립적으로 관리할 수 있게 되었습니다.

알려진 이슈

 * 문서화 되지 않았지만 six v1.4.1 또는 그 이상이 필요합니다. (bug 1237089). Six가 없는 경우 Keystone이  또는   때문에 실패합니다.
 * domain-specific identity backends (예: 도메인과 고유한 LDAP 설정)이 시험적인 구현이 Havana에서 시작되었습니다. 그러나 아직 완성되지 않았고, Icehouse에 완료할 예정입니다.

새로운 이름
OpenStack Networking 프로젝트는 이번 릴리즈에서 새로운 이름인 "Neutron"으로 변경되었습니다. Havana 릴리즈 Neutron은 Grizzly의 Quantum에서 사용한 설정파일을 사용할 수 있습니다. 하지만 Quantum의 사용은 비추천하며, 이미 도입한 사용자는 자신의 가능한 한 빠른 시기에 모든 것들을 업데이트 해야 합니다. Quantum 설정 파일과 명령어 지원은 2014.1 (Icehouse)에 폐지됩니다.

개선된 서비스
이번 개발 사이클에서 Neutron에 새로운 서비스 2개가 추가되었으며, 로드 밸런서 서비스가 업데이트되었습니다.

로드 밸런서 (LBaaS): 이전 2013.1 (Grizzly) 릴리즈에서는 실험적인 기능으로 출시되었으며, 부하 분산 서비스 및 API 확장 배포에 최적화되었습니다. 이번 릴리즈에서는 업데이트된 API와 HAProxy 드라이버를 지원합니다. 공급 업체 드라이버는 Icehouse로 예정되어 있으며, Radware는 이미 Neutron 소스 코드는 다른 곳에서 Havana와 호환 드라이버를 내려받을 수 있습니다. 로드 밸런서 서비스는 여러 네트워크 노드에서 실행 가능합니다.

VPN (VPNaaS): VPN 서비스 플러그인을 통해 사이트 간 IPSec VPN을 새로이 지원합니다. VPN API는 IPSec를 지원하는 L3 에이전트는 OpenSwan 드라이버와 함께 작동합니다.

방화벽 (FWaaS): 새로운 경계면 방화벽 서비스가 이번 릴리즈에 추가되었습니다. 방화벽 서비스를 추가하여 세입자는 방화벽 API의 가장자리와 보안 그룹 API의 가상 인터페이스 (VIF) 모두를 통해 모두에서 엄격한 보안 규칙을 적용할 수 있습니다. FWaaS API와 드라이버는 실험적인 기능이며, Neutron의 다음 릴리즈 주기 동안 개발이 계속될 예정입니다. 개발팀은 이 확장기능에 대해 커뮤니티의 의견을 환영합니다.

네트워크 플러그인
Modular Layer 2 (ML2): ML2 플러그인은 Neutron의 새로운 오픈 소스 플러그인입니다. 이 플러그인은 OpenStack Networking이 복잡한 실제 데이터 센터에서 볼 수 있는 다양한 레이어 2 네트워크 기술을 동시에 취급할 수 있도록 하는 프레임워크입니다. ML2는 기존의 Open vSwitch, Linux Bridge, L2 에이전트와 함께 작동합니다. ML2 플러그인은 타입 드라이버와 다른 메커니즘 드라이버를 통해 local, flat, VLAN, GRE, VXLAN 네트워크 유형을 지원합니다. 공급 업체 드라이버로 Arista, Cisco Nexus, Hyper-V, Tail-f NCS를 사용할 수 있습니다. ML2는 이번에는 비추천하며, Linux Bridge나 Open vSwitch 플러그인으로 대체합니다. 새로운 ML2 정보는 https://wiki.openstack.org/wiki/Neutron/ML2 를 참조하세요.

다른 기능

 * 포트 만들 때 PXE 부팅 옵션 대응
 * 전송 지원 개선

Grizzly에서 업그레이드
코드를 업그레이드한 후 마이그래이션 하지 않고 Neutron-server를 시작하면 일부 데이터베이스 모델이 제대로 구성되지 않고 생성될 수 있습니다. 다음 업그레이드 절차를 반드시 실행하여 데이터베이스가 성공적으로 업그레이드 된 상태가 되도록 하십시오.


 * 서비스를 중지하기 전 데이터베이스가 Grizzly라는 표시를 해야 합니다.
 * Quantum-server을 중지하고 Neutron 코드로 변경합니다. 이때 Neutron-server를 시작하지 마십시오.
 * 데이터베이스를 Havana로 마이그래이션 합니다.
 * Neutron-server을 시작합니다.

에이전트가 다른 호스트를 리포트 할 수 있습니다.
Neutron에서 호스트 이름 결정이 호스트의 FQDN을 사용하는 방법에서, gethostname(2) 에서 반환 된 값을 사용하는 방법으로 변경되었습니다. 이 변경은 다른 OpenStack 프로젝트의 일관성을 유지하기 위해서 구성되었습니다. 따라서 에이전트가 보고 하는 호스트 이름이 양자의 방법으로 다른 경우에는 에이전트를 Havana로 업데이트한 후에는 호스트 이름이 바뀌게 됩니다. 이 경우 서비스를 복구하기 위해 모든 네트워크를 새로운 L3 agent와 DHCP agent에 재할당되어야 합니다. 시스템 관리자가 네트워크의 재 할당까지 네트워크 데이터 플레인을 잠시 동안 끊겨있게 됩니다.

L3 Agent는 Gratuitous ARPs를 기본적으로 보내지 않습니다.
이전에 L3 Agent는 기본적으로 Gratuitous ARP를 보내게 되어있습니다. 배포판에 따라 network namespace를 사용하는 때 Gratuitous ARP 전송을 호출하면 커널 패닉이 발생할 수 있습니다. Gratuitous ARP를 활성화하려면 L3 Agent 설정 파일 send_arp_for_ha=3을 설정하십시오.

Firewall as a Service
실험적인 FWaaS API 확장은 tenant 당 하나의 활성 policy를 지원하지 않습니다. 이 동작은 Icehouse 개발 사이클에서 변경되고 다른 라우터에 다른 정책을 적용할 수 있게 될 예정입니다.

업그레이드 노트

 * neutron-dhcp-agent로 변경이 있었기 때문에, dhcp-agent를 가장 먼저 업그레이드해야 합니다. 그리고 dhcp_lease 시간이 지날 때까지 기다립니다. 적어도 dhcp_lease 시간만큼을 기다린 후에, neutron-server를 업데이트해야 합니다. 이 절차를 밟지않은 경우, 인스턴스는 삭제되었지만, dnsmasq 프로세스가 릴리즈 되지 않고, Neutron은 새로운 IP를 포트에 할당하게 되는 상황이 발생할 수 있습니다. (https://review.openstack.org/#/c/37580/)
 * 기본 policy.json 파일이 새롭게 변경되었습니다. 이미 Neutron을 배포하는 경우에는 많은 옵션이 변경되었기에 파일을 업데이트하십시오. policy.json

폐지 예정 기능에 대한 주의

 * 설정 파일과 실행 파일에서 이름이 "quantum" 또는 "Quantum"의 사용은 공식적으로 추천하지 않습니다. Havana가 이러한 이름이 지원되는 마지막 릴리즈이며, 다음부터는 Neutron으로 사용해야 합니다. 호환성 지원은 이번에만 지원됩니다.
 * Linux Bridge 플러그인과 Open vSwitch 플러그인 기능은 동결되고, J (2014.2) 릴리즈에서 제거될 예정입니다. 새로운 버전에서는 Linux Bridge 플러그인 및 Open vSwitch 플러그인이 아닌 ML2를 선택해야 합니다.

중요한 새로운 기능들

 * 볼륨 마이그레이션 - 다른 Cinder 벡엔드에서 볼륨을 이동시키기 위한 관리자 API
 * v2 API 스케줄러 팁 확장 추가
 * LVM 없이 직접 디스크를 사용할 수 있도록 하기 위한 로컬 블록 스토리지 드라이버 추가
 * 기존 볼륨의 크기를 확장할 수 있도록 변경
 * tenant에서 다른 tenant로 볼륨 전송 기능 추가
 * 기본 quota 설정 편집용 API 콜 추가
 * 스냅샷 볼륨을 만들 때 종속성을 제거하는 백엔드 스냅샷 자동 배포 설정 옵션 추가.
 * 볼륨 연결 시 인스턴스 UUID 이외에 "host-name"을 지정할 수 있게 하는 API 추가.
 * 백업 계층을 일반화하고 내부적인 수정 없이 모든 iSCSI 장치에서 백업을 가능하게 됨.
 * 백업 서비스에 Ceph 드라이버 추가 (Ceph에서 Ceph의 차등 백업이 가능한 백업대상으로 Ceph 선택 가능)
 * QoS 정보 추가 (Nova에 정보를 전달하여 하이퍼바이저에서 사용되는)
 * 새로운 Windows 스토리지 서버 드라이버 (blueprint)

새로운 밴더 드라이버

 * Dell EqualLogic 볼륨 드라이버
 * VMware VMDK Cinder 드라이버
 * IBM General Parallel File System (GPFS)

기존 드라이버 주요 개선 사항

 * Huawei 스토리지 시스템용 Fibre 채널 드라이버 추가
 * Nexenta 스토리지 대응을 위한 NFS 볼륨 드라이버 추가
 * 대부분의 공급 업체 드라이버에 대한 다양한 업데이트와 장치에 특화된 기능 개선
 * IBM Storwize 드라이버에 볼륨 마이그래이션을 위한 조정

새로운 백업 드라이버

 * 볼륨 백업 Ceph 드라이버
 * IBM Tivoli Storage Manager (TSM) 드라이버

알려진 이슈

 * Bug #1237338 : VMware 볼륨 드라이버 볼륨. 이미지 업로드 실패
 * Bug #1240299 : 모든 LVM 볼륨의 클리어 볼륨 오퍼레이션 씬 프로비저닝 된 LVM까지 삭제합니다. 수정이 나올 때까지 cinder.conf 내용 중에서 volume_clear=None을 설정해야 합니다.

업그레이드 노트

 * ThinLVM 볼륨 드라이버 기능은 이번 표준 LVM iSCSI 볼륨 드라이버의 일부가 되었습니다. 설정 파일의 volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver를 lvm_type=thin으로 변경해야 합니다. 호환성을 위해 Havana 릴리즈에서는 이 변경을 volume_driver가 cinder.volume.drivers.lvm.ThinLVMVolumeDriver로 설정되어 있으면 자동으로 수행되지만 Icehouse는 cinder.conf 중에서 이 옵션을 업데이트해야 합니다.

API

 * 통계 엔드포인에서 groupby를 사용하여 몇가지 필드엣 샘플 그룹화가 가능하게 되었습니다.
 * 새로운 알람 API를 사용할 수 있습니다. (Alarms를 확인하세요)
 * API를 통해 사용자가 자신의 샘플과 미터의 POST를 사용 가능합니다.

알람
알람은 사용자와 운영자가 작업을 일정 기간에 통계 동향 임계값과 비교 결과에 따라 실행할 수 있도록 하는 새로운 기능입니다. 다음과 같은 서비스로 구성됩니다.


 * ceilometer-api': 알람의 라이프 사이클 전반의 제어를 제공하는 새로운 /v2/alarms 엔드포인트를 제공하게 되었습니다.
 * ceilometer-alarm-evaluator: 알람 상태가 변했을때를 감지하기 위해 알람을 정기적으로 확인합니다.
 * ceilometer-alarm-notifier: 알람이 발생하고 연결된 작업이 수행될 때, ceilometer-alarm-evaluator가 보내는 알림을 수신합니다.

알람 API는 또한 경보 상태 전파와 룰 변경 내역을 제공합니다.

Collector

 * 새로운 HBase 드라이버
 * 새로운 DB2 (NoSQL) 드라이버
 * 개선된 SQLAlchemy 드라이버
 * 개선된 MongoDB 드라이버
 * 데이터 베이스에서 오래된 샘플을 삭재할 수 있는 TTL 기능 추가
 * 이벤트를 저장이 가능하도록 추가
 * SQLAlchemy를 이용해 모든 이벤트를 저장하는 기능 추가
 * 데이터베이스에서 오래된 샘플을 삭제할 수 있습니다 TTL 기능을 추가
 * 이벤트를 저장하는 기능을 추가
 * SQLAlchemy 드라이버에 이벤트 저장하는 기능 추가

Publisher 드라이버

 * UDP 기반으로한 publisher 추가.

Transformers

 * 새로운 unit-scaling, rate-of-change transformers 추가

Meters

 * 특별한 Python 미들웨어를 사용하여 API 요청 미터를 추가
 * 새로운 Neutron 대역폭 측정 기능에서 샘플 저장 기능 추가

Compute 에젠트

 * Hyper-V 지원 추가

알려진 이슈

 * https://review.openstack.org/#/c/46336/

많이 개선된 문서들

 * getting started guides
 * developer docs
 * template guide
 * API reference

Tempest와 첫 통합

 * API tests https://github.com/openstack/tempest/tree/master/tempest/api/orchestration

동시 리소스 작업

 * create / update / delete 작업을 동시에 병렬로 수행할 수 있습니다.

더 개선한 네트워킹/Neutron 지원

 * 새로운 LBaaS, FWaaS, VPNaaS 리소스

기본 템플릿 언어에 대한 초기 지원 사항 (HOT)

 * 템플릿 가이드와 명세서를 확인하세요.

Provider 및 Environment 추상화

 * 중첩된 템플릿을 사용하여 자원 유형의 사용자 정의하는 방법에 대한 추상화가 이루어졌습니다. 문서 and 블로그 포스트를 참조하세요.

Ceilometer 통합에 의한 측정 정보 / 모니터 / 알람 지원

 * Ceilometer 알람을 설정하는 새로운 리소스 유형 OS::Ceilometer::Alarm을 추가하였습니다.
 * AutoScaling 액션과 Ceilometer 알람 통합으로 Ceilometer 알림이 트리거가 되었습니다. 이전 메커니즘은 Heat이 측정 정보와 알람 처리가 되었습니다만 이번에는 작동하지 않으며, 아마 Icehouse에서는 삭제될 것 같습니다.

UpdateStack 개선

 * 일부 자원 유형 인스턴스의 크기 조정 기능 등의 비파괴적인 업데이트 기능이 지원되었습니다. 또한, 이전의 자원을 삭제하기 전에 대체 자원을 만들 수 있게 되어 업그레이드 연속성 및 롤백 기능이 향상되었습니다.

Keystone 트러스트 기능의 첫 번째 통합

 * heat.conf에서 deferred_auth_method=trusts를 설정하게 되면, Keystone trusts 기능을 사용할 수 있습니다. 지연 작업 (예, AutoScaling 조정)을 실행하기 위해 암호화된 인증서가 없어도 됩니다. 대신 트러스트를 만들고 트러스트 ID를 유지하게 됩니다.
 * (알려진 문제를 확안하세요.)

개선된 리소스 문서

 * 모든 리소스 유형 정보를 작성한 문서 http://docs.openstack.org/developer/heat/template_guide/
 * 기본 자원 유형에 대한 스키마가 API를 통해 사용할 수 있게 되었습니다.

더 많은 기본 리소스 형식들

 * OS::Cinder::VolumeAttachment
 * OS::Neutron::Firewall
 * OS::Neutron::FirewallPolicy
 * OS::Neutron::FirewallRule
 * OS::Neutron::HealthMonitor
 * OS::Neutron::LoadBalancer
 * OS::Neutron::VPNService
 * OS::Neutron::IPsecSiteConnection
 * OS::Neutron::IKEPolicy
 * OS::Neutron::IPsecPolicy
 * OS::Nova::Server

새로운 Rackspace 리소스 형식들

 * Rackspace::Cloud::DBInstance
 * Rackspace::Cloud::LoadBalancer
 * Rackspace::Cloud::Server

스택의 중지 / 재시작

 * 스택의 중지 (일시 중지) 및 재시작에 대한 새로운 API actions가 추가되었습니다.

다른 heat.conf와 paste-api.ini 통합

 * 아래의 업그레이드 주의 사항을 참조하십시오.
 * 다음에 대한 제한을 설정하는 새로운 옵션이 추가됨.
 * template size
 * number of stacks per tenant
 * number of events per stack
 * stack nesting depth

Heat 독립형 모드

 * Heat이 독립 실행 모드로 실행이 가능하게 되었습니다. 이렇게 하면 외부 OpenStack에 대한 오케스트레이션을 할 수 있습니다.

알려진 이슈

 * Heat은 Keystone에서 API 엔드포인트를 획득 할 때 Region 이름을 지정할 수 없습니다. 자세한 내용은 bug를 확인하세요.
 * Keystone 트러스트 (deferred_auth_method=trusts)와 통합 keystoneclient 최신 버전 0.4.1를 사용하는 경우에만 작동하지만, Heat의 requirements.txt에는 아직 반영되지 않았습니다.
 * https://bugs.launchpad.net/python-keystoneclient/+bug/1231483


 * Keystone 트러스트의 통합을 하려면 적어도 RC3 이후 keystone이 필요합니다.
 * https://bugs.launchpad.net/keystone/+bug/1239303

업그레이드 노트

 * Heat은 서비스별 파일 대신 하나의 설정파일 (/etc/heat/heat.conf)를 사용합니다.
 * API 프로세스가 서비스별 파일 대신 단일 paste 설정파일 (/etc/heat/api-paste.ini)을 사용합니다.
 * /etc/heat/environment.d/에서 global environment definition 합니다. (environment 문서 확인)
 * 모든 OS::Quantum이 OS::Neutron으로 변경되었습니다. 기본 설정 환경에 설치하는 경우 이전 이름도 작동을 합니다. 기본 설정 환경에서는 이전 이름의 자원은 새로운 자원의 이름으로 처리됩니다.

중요한 새로운 기능들

 * 페이지마다 버그 리포팅을 쉽게 할 수 있도록 버그 리포트 버튼이 생겼습니다. (문서 페이지마다 무당벌레 모양의 아이콘이 존재합니다. :-) )
 * 매뉴얼을 전부 새롭게 바꿨습니다. Havana 출시에 맞춰 다음과 같은 가이드들이 생겼습니다.:
 * OpenStack 설치
 * Installation Guide for Red Hat Enterprise Linux, CentOS, and Fedora
 * Installation Guide for Ubuntu 12.04 (LTS)
 * Installation Guide for openSUSE and SUSE Linux Enterprise Server
 * OpenStack 클라우드 구성 및 작동:
 * Cloud Administrator Guide
 * Configuration Reference
 * Operations Guide
 * High Availability Guide
 * Security Guide
 * Virtual Machine Image Guide
 * OpenStack dashboard와 커멘트라인 클라이언트 사용
 * API Quick Start
 * End User Guide
 * Admin User Guide

알려진 이슈

 * 가이드가 아직 완전히 끝나지 않았습니다. 빠진 정보가 있을 수도 있습니다.