ReleaseNotes/Juno/ko KR

= OpenStack 2014.2 (Juno) 릴리즈 노트 =

종합적인 업그레이드 노트

 * simplejson 패키지는 대부분의 프로젝트에서 선택 가능한 의존 패키지입니다, 따라서 전체 프로젝트의 requirements.txt 파일에 포함되어 있지는 않습니다. 그러나이 패키지를 사용하는 경우, 예를 들어 RHEL 6에서 Python 2.6에서 보다 나은 성능 향상을 얻고자 하는 경우, simplejson 버전 2.2.0 이상이 필요합니다. 자세한 내용은 https://bugs.launchpad.net/oslo-incubator/+bug/1361230 을 참조하십시오.

새로운 주요 기능
Juno 통합 릴리즈에서는 3개의 OpenStack Swift 릴리즈 (2.0.0, 2.1.0, 2.2.0)를 포함하고 있습니다. 이 릴리즈의 변경 내역은 https://github.com/openstack/swift/blob/2.2.0.rc1/CHANGELOG#L1-L173 에서 확인할 수 있습니다. 자세한 릴리즈 사항은 해당 문서를 참고하십시오.

중요한 새로운 기능은 다음과 같습니다. CHANGELOG 및 관련 문서를 읽어보십시오.


 * 스토리지 정책
 * Keystone v3 지원
 * 서버 사이드에서의 계정간 복사
 * 새로운 서버, 존, 지역 추가 시 파티션 배치 개선
 * splice 시스템 호출을 사용한 Zero-copy GET 응답
 * 병렬화된 개체 감사 기능

알려진 이슈

 * 아직 없음

업그레이드 노트
항상 그래왔듯이, Swift 클러스터는 최종 사용자의 다운 타임 없이 업그레이드 가능합니다. 매 릴리즈 전에 샘플 구성 파일 및 문서를 참고하십시오.


 * 언급할 필요가 있는 몇몇 로깅 변화 사항이 있습니다. 모든 경우에 대해, 이미 잘 동작하고 있는 로그 처리 과정에는 영향을 미치지 않을 것입니다.
 * 스토리지 노드 (account, container, object)의 로그 라인의 끝 부분에 이제 PID를 기록합니다.
 * Object 데몬은 이제 데몬 전체 이름과 함께 user-agent 문자열을 붙여서 보냅니다. (예 : "obj"⇒ "object")
 * 추가 스토리지 정책을 한 번 활성화한 이후에는, Swift 2.0.0 이전 버전으로 다운그레이드할 때 어떤 추가적인 스토리지 정책도 사용이 불가능합니다.
 * IANA의 할당되지 않은 범위에 해당하는 Swift 기본 포트에 대한 업데이트 작업의 일부분으로 bind_port가 이제 필수 설정이 되었습니다. 현재 명시적으로 해당 포트를 설정하는 쪽에는 영향을 주지 않습니다. 그러나, 현재 해당 포트를 설정하지 않은 경우 *_server.conf에 bind_port 설정이 여러분의 ring과 일치하는지 업그레이드의 한 부분으로 확인하십시오.
 * 참고로, 스토리지 정책에는 새로운 데몬인 container-reconciler를 포함합니다.
 * TempURL가 기본으로 허용하는 메소드 구성 설정에 이제 POST과 DELETE 역시 허용합니다. 이는 tempurl이 이러한 동사들을 통해 생성될 수 있음을 의미합니다. 이는 기존 tempurl에 영향을 미치지는 않습니다.
 * Swift에서 업데이트, deprecated, 제거된 옵션 목록은 여기서 확인 가능합니다. http://docs.openstack.org/trunk/config-reference/content/swift-conf-changes-master.html

인스턴스 기능

 * 복구에 사용하는 원본 베이스 이미지 대신 사용자가 이미지를 지정할 수 있도록 허용합니다. launchpad 세부 내용
 * config drive를 사용해야만 할 때 이미지를 지정할 수 있도록 허용합니다. launchpad 세부 내용
 * Flavor를 통해 게스트 사용자에게 제공되는 가상 CPU 토폴로지를 사용자와 관리자가 제어 가능하도록 제공합니다. launchpad 세부 내용
 * 복구시 모든 로컬 디스크들을 붙일 수 있도록 허용합니다. launchpad 세부 내용

Networking

 * 네트워크 별로 설정이 가능하도록 nova-network 코드를 개선하였습니다. launchpad 세부 내용
 * 배포자가 인스턴스에 대한 네트워크 정보에 변경 사항이 있을 때 즉시 알려줄 수 있도록 하는 hook을 추가하도록 허용합니다. launchpad 세부 내용
 * Nova 인스턴스가 SR-IOV의 Neutron 포트와 같이 구동 가능하게 되었습니다. launchpad 세부 내용
 * VM이 1개의 네트워크에 여러 인터페이스를 연결할 수 있도록 허용합니다. launchpad 세부 내용

Scheduling
Nova에 의해 추적되는 자원 집합은 하드코딩 되어 있는데, 이를 스케줄링을 위한 새로운 유형의 자원에 대해서 추적하는 플러그인을 허용하도록 확장 가능하게 변경되었습니다. launchpad 세부 내용
 * 확장 가능한 자원 추적. Extensible Resource Tracking.
 * 호스트에 evacuate 기능을 허용하지만, 인스턴스가 이동할 대상 호스트를 선택하는 스케줄러와 함께 허용합니다. launchpad 세부 내용
 * 스케줄러 필터에 호스트 집합을 지원하도록 추가되었습니다. launchpad: disk; instances; IO ops 세부 내용

다른것들

 * Nova i18n 지원, 제약이 가해졌던 Oslo i18n와 업데이트되는 Nova에 번역 가능한 문자열을 추가하여 지연된 번역 지원을 활성화하였습니다. launchpad 세부 내용
 * Slave SQL 서버가 구성되어 있는 경우 주기적으로 처리하는 SQL 쿼리 로드를 Slave SQL 서버로 오프로드시킬 수 있습니다. launchpad 세부 내용
 * 매 60초 마다 업데이트하는 대신 SQL 데이터베이스의 호스트 상태가 바뀌었을 때만 호스트 상태를 업데이트합니다. launchpad 세부 내용
 * 하이퍼바이저 호스트 API 목록에 상태 정보를 추가했습니다. launchpad 세부 내용
 * 서비스 목록을 보고자 할 때 API 호출자가 필터에 여러 상태를 지정할 수 있도록 허용합니다. launchpad 세부 내용
 * 사용자가 생성 가능한 서버 그룹의 수와 크기를 제한하는 quota를 추가했습니다. launchpad 세부 내용

Hyper-V

 * 차이점 (differencing) vhdx 이미지를 지원합니다. launchpad 세부 내용
 * 콘솔 시리얼 로그를 지원합니다. launchpad 세부 내용
 * 소프트 재부팅을 지원합니다. launchpad 세부 내용

Ironic

 * Ironic에 대한 virt 드라이버가 추가되었습니다. launchpad 세부 내용

libvirt

 * 최신 libvirt에서의 인스턴스 목록 나열에 대한 성능이 향상되었습니다. launchpad 세부 내용
 * 네트워크 뒤에 있는 디스크에 대한 스냅샷을 지원합니다. launchpad 세부 내용
 * Ceilometer 리포팅을 위한 QEMO 메모리 벌룬 통계를 지원합니다. launchpad 세부 내용
 * 사용하지 않는 디스크 블록을 스토리지 시스템에 반환하여 핸들링하도록 지원합니다. launchpad 세부 내용
 * 인스턴스에 대한 메타 데이터가 이제 libvirt 도메인 XML에 기록됩니다. 이는 관리자가 문제를 디버깅하는 동안 돕기 위한 용도입니다. launchpad 세부 내용
 * LXC 컨테이너에 대한 네임스페이스를 지원합니다. launchpad 세부 내용
 * RBD 백엔드 디스크에 대한 Copy-on-write 복제 지원 launchpad 세부 내용
 * 인터렉티브한 시리얼 콘솔 제공 launchpad 세부 내용
 * VM 전원 종료 중 게스트 운영체제에 대한 종료 제어를 허용합니다. launchpad 세부 내용
 * 게스트를 위한 지능적인 NUMA 노드 배치 지원 launchpad 세부 내용

vmware

 * VMware 드라이버가 oslo vmware 헬퍼 라이브러리를 사용하도록 이전됨 launchpad 세부 내용
 * VMware에 네트워크 인터페이스 핫 플러그인 지원 추가 launchpad 세부 내용
 * 유지 보수성 향상을 위해 VMware 드라이버의 생성(spawn) 기능이 리팩토링되었습니다. 내부적인 개선 작업이지만, VMware 드라이버의 지원성을 크게 향상시켰기에 여기에서 언급합니다. launchpad 세부 내용

알려진 이슈

 * 아직 없음

업그레이드 노트

 * Nova에서 업데이트, deprecated,제거된 옵션 목록은 여기서 확인 가능합니다: http://docs.openstack.org/trunk/config-reference/content/nova-conf-changes-master.html
 * Juno에서 deprecated된 nova-manage의 flavor 서브 명령어는 2015.1 (K) 릴리스에서 제거될 예정입니다:https://review.openstack.org/#/c/86122/
 * https://review.openstack.org/#/c/102212/
 * libvirt 최소 요구 버전이 이제 0.9.11 입니다: https://review.openstack.org/#/c/58494/
 * Nova에서 이제 Cinder V2 API를 지원합니다. Cinder V1 API는 Juno에서 deprecated 되었고 "L" 릴리즈에서는 Nova에서 Cinver V2가 디폴트로 전환될 것입니다.
 * 가독성 향상을 위해 python-novaclient 디버그 로깅이 상당 부분 변경되었습니다 . 토큰 자체가 출력되는 대신 Keystone 토큰에 대한 SHA1 해시가 이제 출력됩니다. 따라서 토큰이 일치하지 않는 시나리오를 결정하는 능력을 유지하면서도 출력되는 내용량을 크게 단축합니다. 또한, 몇몇 부가적인 '\n' 문자가 삭제되었습니다. "어떤 로그 파서라도 이중으로 확인하십시오!"
 * nova.conf에서 libvirt.volume_drivers 구성 파라메터가 deprecated되었고, Lxxxx 릴리즈에서 제거 예정입니다. 일반적으로, 이는 드라이버에 대해 작업하는 몇몇 소수의 개발자에게만 영향을 미칩니다. 여러분이 영향을 받는 경우, 권장하는 접근 방법은 nova 소스 트리 내에서 개발을 계속하는 것입니다.

새로운 주요 기능

 * 비동기 처리
 * glance.store를 자체 라이브러리로 분리
 * 메타데이터 정의 카탈로그
 * 다운로드 이미지에 대한 제한된 정책
 * 향상된 Scrubber 서비스를 통해 노드들에 걸쳐 있는 여러 glance-api 서버를 단일 인스턴스 서비스로 가능

업그레이드 노트

 * Glance에서 업데이트, deprecated,제거된 옵션 목록은 여기서 확인 가능합니다: http://docs.openstack.org/trunk/config-reference/content/glance-conf-changes-master.html
 * 공용 이미지를 업로드는 이제 디폴트로 admin 만 가능합니다. 이전과 동일하게 동작하기를 원하는 경우 etc/policy.json 에 있는 publicize_image 플래그를 수정하여 역할 제한을 제거하십시오.
 * DB 테이블의 UTF-8 문자셋 요구 사항 및 확인이 강화되어, DB sync 중에 glance-manage 명령에서 에러를 출력하는 경우, 운영자는 테이블 및 기존 데이터를 UTF-8로 수동 마이그레이션을 할 필요가 있습니다.

Sahara
OpenStack 데이터 처리 프로젝트 (Sahara)가 Juno에서 정식 통합 릴리즈에 포함되어 Horizo​​n은 데이터 프로세싱 관리를 폭넓게 지원합니다. 작업에 대한 과정을 추적하는 동안, 사용자가 지정한 작업과 함께 다양한 유형의 데이터를 이용하기 위해 클러스터를 지정 및 생성할 수 있습니다.

Neutron 기능
Juno에서 추가된 Neutron의 새로운 기능은 다음과 같습니다:
 * DVR (분산 가상 라우팅)
 * L3 HA 지원
 * IPv6 서브넷 모드

Horizon은 Juno 릴리즈에서 이러한 새로운 기능에 대한 지원을 제공합니다. 이러한 기능들은 소프트웨어 정의 네트워크를 지정하는데 있어 매우 큰 유연성을 제공합니다.

Neutron인 기존 기능인 MAC 주소 학습 확장 기능을 이제 Horizon에서 지원합니다.

Glance 기능
Juno에서 Glance는 메타 데이터 정의에 대한 카탈로그를 관리하는 기능을 도입하였습니다. 이는 이미지, 볼륨, 통합(aggragates), Flavor를 포함한 다양한 유형의 자원에 사용되는 메타 데이터 정의를 사용자가 등록 가능하도록 하는 기능입니다. Horizo​​n은 이러한 메타 데이터 태그의 표시 · 편집을 지원합니다.

Cinder 기능
보다 완벽한 API 지원을 제공하고자 하는 지속적인 노력에 힘입어, Juno 릴리즈에서는 이제 Horizon에서 Cinder에서 지원하는 몇몇 기능들을 지원합니다. 사용자는 이제 swift를 활용하여 Horizon에서 볼륨 백업을 저장하고 해당 백업으로부터 볼륨을 복원할 수 있습니다.

Juno에서 추가된 이전에 지원하지 않았으나 Horizon에서 지원하는 다른 기능들은 다음을 포함합니다:
 * 스냅샷 상태 리셋 활성화
 * 볼륨 상태 리셋 활성화
 * 이미지-업로드 지원
 * 볼륨 유형 재정의
 * QoS (quality of service) 지원

Trove
Trove는 MySQL, Redis, MongoDB와 같은 많은 다양한 데이터 저장소를 사용을 잠재적으로 지원합니다. 사용자는 데이터베이스 인스턴스 생성시 클라우드 운영자에 의해 지원되는 데이터 저장소 목록으로부터 이제 선택 가능합니다.

다른 추가 사항으로는 증분 데이터베이스 백업 활용 및 복구 지원이 있습니다.

Neutron을 기반으로 하는 클라우드 지원을 향상시키기 위해, 사용자는 이제 데이터베이스 인스턴스 생성시 전용 NIC을 지정하여 사용자가 해당 인스턴스에 직접 접근이 가능하도록 합니다.

Nova
새로운 nova 인스턴스 액션 패널은 현재 프로젝트에서 수행 가능한 액션 목록을 제공하고 사용자가 에러 결과를 살펴보거나 해당 인스턴스에 대해 다른 사용자가 액션을 수행하도록 지원합니다.

관리자는 시스템 유지시 도울 수 있는 기능인 이제 모든 인스턴스들을 다른 호스트로 마이그레이션하는 메커니즘을 하이버파이저 off시 호스트들을 evacuate할 수 있는 능력을 가집니다.

개선된 플러그인 지원
Juno 릴리즈에서 Horizon에 포함된 플러그인 시스템이 지속적으로 향상되었습니다. 몇몇 향상 결과는 다음과 같습니다:
 * AngularJS 모듈에 대한 플러그인 추가 지원
 * 정적 파일 추가 지원 (예: CSS, JS, 이미지)
 * 예외 추가 기능
 * 순서(ordering) 이슈 해결
 * 그 외 다양한 버그 해결

강화된 RBAC 지원
Horizon에서 풍부한 역할 기반 접근 제어 (RBAC)를 지원하기 위한 지속적인 노력의 일환으로, 몇몇 보다 많은 서비스에 대한 뷰가 RBAC 체크를 통해 사용자 접근을 액션으로 결정하도록 향상되었습니다. 새롭게 지원하는 서비스들은 compute, 네트워크, 그리고 오케스트레이션입니다. 이러한 변화를 통해 관리자들이 단지 "member"와 "admin"이 아닌 보다 세분화된 접근 제어를 구현할 수 있습니다.

Identity 패널 (도메인, 프로젝트, 사용자, 역할, 그룹)이 뷰 수준에서 RBAC를 지원하도록 전환되었습니다. Identity 패널은 관리자 대시보드에서 각 사용자가 가지는 "Identity" 대시보드로 이동하였고, 정책에 따라 접근 제어를 결정합니다. 이는 프로젝트와 관리자 대시보드에 컨텐츠가 거의 중복으로 되어 있던 것을 다양한 범위의 역할을 지원하는 단일 뷰로 통합하는 첫 과정입니다.

UX 변경
Juno에서는 Horizon이 Bootstrap v3를 활용하는 화면으로 전환되었습니다. Horizon은 과거 여러 릴리즈에서 이전 버전의 Bootstrap에 머물러 있었습니다. 이러한 변화로 이제 Horizon에서 많은 버그 수정 및 Bootstrap 프레임워크에서의 전반적인 향상이 가능해졌습니다. Look & Feel은 Havana 릴리즈와 거의 동일하도록 유지하였습니다.

JavaScript 라이브러리 제외
Horizon 팀에서 저장소를 여러 논리적인 조각으로 구분하고자 하는 지속적인 노력의 일환으로, Horizon에서 의존성이 있던 모든 서드파티 JavaScript들을 Horizon 코드 베이스에서 제거하고, 대신 Python xstatic 패키지를 활용합니다. xstatic 포맷은 Horizon이 사용하는 Django 프레임워크에서 쉬운 사용을 가능하게 합니다. 이제 JavaScript 라이브러리들은 Horizon에서 다른 python 의존성처럼 이용됩니다.

SCSS에서 LESS로 변환
Horizon에서 지원하는 스타일시트가 LESS보다 SCSS를 활용하도록 전환되었습니다. 이 변화는 Python에서 LESS 컴파일러를 이제 덜 지원하는 상황이기에 필수적이었습니다. 이 변화는 또한 Bootstrap 3으로의 업그레이드를 가능하게 하였는데, 왜냐하면 Bootstrap 3의 LESS 스타일시트 일부분이 기존에 존재하던 python 기반의 LESS 컴파일러를 지원하지 않았기 때문입니다.

확장에서 렌더링 이슈
Bootstrap v3를 활용하도록 변환됨으로써 Horizon 상에서 컨텐츠 익스텐션이 작성되어 렌더링 이슈를 가져옵니다. 대부분은 단순히 CSS 클래스 이름 치환으로 수정되었습니다. 이 이슈는 대개 버튼 및 패털 컨텐츠 폭에서 볼 수 있습니다.

온라인 압축
SCSS로 이전되면서, Horizon에서 非디버그 모드에서의 온라인 압축을 활용하는 이슈가 있을 수 있습니다. 오프라인 압축은 이전 릴리즈에서처럼 계속 이루어집니다.

Neutron L3 HA
HA 속성을 UI에서 업데이트 가능하나, 에이전트에서 마이그레이션이 실패할 것입니다.

업그레이드 노트

 * FLAVOR_EXTRA_KEYS 설정은 deprecated 되었습니다. 해당 키에 대한 사용은 nova 및 glance api 에 직접 call하는 것으로 변경하는 것이 적정합니다.

새로운 주요 기능

 * Keystone에서 이제 실험적으로 Keystone-to-Keystone 페더레이션을 지원합니다. 이는 한 인스턴스가 Identity 제공자로, 다른 인스턴스가 서비스 제공자로 동작하는 것입니다.
 * PKIZ이 이제 사용자에 대한 PKI 토큰의 새로운 토큰 제공자로 가능해졌습니다. PKIZ는 단순히 전통적인 PKI 토큰에 zlib 기반 압축을 추가합니다.
 * PKI 토큰에 사용되는 해싱 알고리즘을 구성 가능합니다. (디폴트는 여전히 MD5이지만 Keystone 팀은 배포시 이를 SHA256으로 마이그레이션할 것을 추천합니다.)
 * 도메인별 Identity 드라이버 구성에서 이제 임의의 분류 복잡도에 따른 인터넷 도메인명을 지원합니다. (예: ).
 * 백엔드 LDAP 인증이 을 이제 사용자의 특성으로 지원합니다.
 * Identity API v3 요청이 이제 JSON 스키마에 따라 검증됩니다.
 * 여러 인증 백엔드가 있는 경우, Keystone에서 이제 임의의 자원 ID를 임의의 백엔드에 매핑 가능합니다.
 * 이 해당 저장소인 로 이동되었습니다.
 * Identity API v3은 이제 서비스 카탈로그인  를 조회하기 위해 개별 요청 (discrete call)을 지원합니다.
 * 통합(Federated) 인증 이벤트 및 로컬 역할 할당 작업 결과로 이제 CADF (감사) 통지가 이루어집니다.
 * Keystone은 이제 주어진 정책 blob을 단일 또는 여러 개의 엔드포인트에 연결 가능합니다.
 * Keystone은 이제  헤더에 대한 응답으로 root API 엔드포인트에서 JSON Home 문서를 제공합니다.
 * 클라이언트의 서비스 카탈로그로부터의 엔드포인트 숨김이 이제 에 의해 보다 쉽게 관리 가능합니다.
 * 증명 컬렉션 (credentials collection) API가 이제 연관된 사용자 별로 필터링 가능합니다.
 * 새로운, generic API 엔드포인트가 서비스 카탈로그, 사용 가능한 프로젝트 범위 및 사용 가능한 도메인 범위와 같은 인증과 연관된 데이터를 가져오는데 사용 가능합니다.
 * Keystone에서 이제 사용자  특성을 LDAP (및 정확히 대응하는 boolean 값을 inverting) 에서   특성으로의 매핑을 지원합니다.
 * CA 인증서 파일이 이제 LDAPS 연결로 구성 가능합니다.
 * 템플릿화된 카탈로그 백엔드에서 이제 Identity API v3에 대한 서비스 카탈로그 생성을 지원합니다.
 * 서비스명이 v3 서비스 카탈로그에 추가되었습니다.
 * 서비스가 이제 이름으로 필터링 가능합니다.

페이지화된 LDAP 검색 결과가 python-ldap 2.4와 동작하지 않습니다.
python-ldap 2.4을 사용하는 환경에서 LDAP 인증 백엔드에서 검색 결과 페이지 단위 표시를 활성화하면 AttributeError가 나타날 것입니다. 이는 python-ldap의 API가 하위 호환성을 제공하지 않기 때문입니다. 이 문제를 해결하기 위해서는 다음과 같은 방법이 있습니다.
 * keystone.conf의 "[ldap]"섹션의 "page_size"를 0으로하여 페이지 단위 결과 표시 기능을 비활성화
 * python-ldap를 2.3.x로 다운 그레이드

이 이슈에 대한 수정이 제안되었기에, Juno 안정 업데이트에서 사용 가능하게 될 것으로 전망하고 있습니다. 방안은 이미 제시되어 있으며, Juno의 업데이트 버전에서 이용 가능하게 될 전망입니다. 자세한 내용은 https://bugs.launchpad.net/keystone/+bug/1381768 를 참고하십시오.

업그레이드 노트

 * 보다 단순한 Keystone 기능을 경험하도록, 디폴트 토큰 공급자는 이제 PKI 대신 UUID입니다.
 * Havana 이전 릴리즈를 위한 데이터베이스 마이그레이션을 지원하지 않습니다. 이는 Juno 릴리즈로의 업그레이드는 Havana 또는 Icehouse 배포에서만 수행됨을 의미합니다.
 * 업데이트, deprecated, 제거된 Keystone 옵션의 전체 목록은 http://docs.openstack.org/trunk/config-reference/content/keystone-conf-changes-master.html 에서 확인 가능합니다.
 * 모든  메소드는 deprecated 되었습니다.
 * 이전에 포함되었던 deprecated 된  용어에 대한 LDAP 구성 옵션은   용어를 사용하는 옵션으로 대체되었습니다.
 * Identity 백엔드에서 (Identity 백엔드에서 Assignment 백엔드가 분리된 결과로써 하위 호환성을 위해 생성되었던) assignment 백엔드로 프록시하는 메소드가 제거되었습니다. 이는 사용자 정의, 소스 트리에 벗어난 API 익스텐션에만 영향을 미칩니다.
 * 에서 클래스 이름만 지정한 인증 플러그인 로딩은 이제 deprecated되었습니다. 대신,  pair을 작성하여 플러그인을 로드하고 일련의 인증 메소드를 리스트로  정의하는 것을 권장합니다.
 * 소스 코드에 포함된 토큰 드라이버 가 에 옮겨졌습니다. 호환성 유지를 위해 Proxy 객체가 존재합니다. 디폴트가 아닌 값을 사용하는 경우,  에서   섹션 내   옵션 값을 새로운 위치에 사용하도록 업데이트할 것을 추천합니다.
 * 이외의 KVS 백엔드 드라이버 이용은 deprecated되었습니다.
 * LDAP / AD 구성: "tenant"라는 단어를 포함하는 설정 옵션은 deprecated되었습니다. 대신, "project"라는 단어로 대체 이름 구성 옵션이 권장됩니다. (예 : 는  로 대체됩니다)

새로운 주요 기능

 * DB 마이그레이션 리팩토링 및 새로운 타임라인 적용
 * 분산 가상 라우저 (DVR) 지원
 * 테넌트 네트워크에 대한 완벽한 IPV6 지원
 * L3 에이전트에 대한 고가용성
 * iptables 위치에 보안 그룹으로 IPsec 지원 (이 옵션은 구성 가능함)
 * L3 에이전트 성능 향상
 * RPC 통신을 위한 oslo.messaging 라이브러리 마이그레이션
 * 장치 RPC 호출을 위한 보안 그룹 규칙 리팩토링 (커다란 성능 향상을 가져옴)
 * Juno에서 지원하는 새로운 플러그인들은 다음을 포함합니다:
 * LBaaS V1 API를 위한 A10 Networks LBaaS 드라이버
 * Arista L3 라우팅 플러그인
 * Big Switch L3 라우팅 플러그인
 * Brocade L3 라우팅 플러그인
 * Cisco APIC ML2 드라이버 (L3 라우팅 플러그인 포함).
 * Cisco CSR L3 라우팅 플러그인
 * Freescale SDN ML2 Mechanism 드라이버
 * Nuage Networks ML2 Mechanism 드라이버
 * SR-IOV capable NIC ML2 Mechanism 드라이버

알려진 이슈

 * DVR 및 HA L3에 대한 첫 릴리즈입니다. Neutron 팀은 해당 기능들을 Kilo에서는 production에 사용 가능한 수준으로 설계하고자 하고 있으며, 배포자들은 치명적이지 않은 워크로드에서 테스트하고 이슈가 있을 때 보고해 주길 원합니다.
 * FWaaS는 여전히 실험 상태로 분류되어 있는데, 왜냐하면 테넌트 당 1개 이상의 FW를 허용하지 않기 때문입니다.

업그레이드 노트

 * Neutron에서 업데이트, deprecated, 제거된 옵션 목록은 여기서 확인 가능합니다. http://docs.openstack.org/trunk/config-reference/content/neutron-conf-changes-master.html
 * 자원에 의존적인 특성(Attribute) 수준의 정책은 더 이상 적용되지 않습니다. Icehouse에서 보다 오래된 몇몇 정책들을 필요로 하지 않음을 의미합니다 (예: "get_port:binding:vnic_type": "rule:admin_or_owner").
 * 다음과 같은 플러그인들은 Juno에서 deprecated됩니다:
 * Cisco Nexus Sub-Plugin (The Nexus 1000V Sub-Plugin은 Juno에서 여전히 유지 및 지원됩니다).
 * Mellanox 플러그인
 * Ryu 플러그인
 * API에서의 XML 지원이 deprecated됩니다. 사용자 및 배포자는 Kilo (2015.1) 릴리즈에서 XML 지원이 제거 예정이기에 가능한 빨리 API 인터렉션을 JSON으로 마이그레이션해야 할 것입니다.

새로운 주요 기능

 * 볼륨 복제 지원.
 * 그룹 일관성 (Consistency) 및 그룹 일관성에 대한 스냅샷 지원
 * 볼륨 풀 (Pool) 지원
 * i18n 지원 완료
 * 이미지 업로드시 Glance 보호 속성 지정
 * 볼륨 복사 작업에서의 사용 대역폭 제한 기능
 * 볼륨 수를 가중치로 하는 스케줄링 추가

새로운 드라이버/플러그인

 * Datera
 * Fujitsu ETERNUS
 * Fusion IO
 * Hitachi HBSD
 * Huawei
 * Nimble
 * Prophetstor
 * Pure
 * XtremIO
 * Oracle ZFS

알려진 이슈
아직 없음.

업그레이드 노트

 * Cinder에서 업데이트, deprecated, 제거된 옵션 목록은 여기서 확인 가능합니다: http://docs.openstack.org/trunk/config-reference/content/cinder-conf-changes-master.html
 * Nova 이제 Cinder V2 API를 지원합니다. Cinder V1 API는 Juno에서 deprecated되었고, "L" 릴리즈에서는 Nova에서 Cinder V2가 디폴트로 사용되도록 전환 예정입니다.

새로운 주요 기능

 * 수평으로 스케일 아웃된 여러 central 에이전트에 걸쳐 메트릭 수집 & 로딩에 대한 파티셔닝 지원
 * 직접 구현했던 프로토콜 방식에서 tooz와 연계한 알람 검출 처리 방식에 해당하는 새로운 메소드로 변경
 * SQLAlchem​​y 백엔드의 성능, 확장성 향상으로 PoC 및 소규모 배포 환경에서 MySQL 혹은 PostgreSQL이 미터링에 사용할 수있게 되었습니다.
 * Ironic 또는 다른 standalone 에이전트로부터 받은 notification을 통해 IPMI 센서에 대한 하드웨어 지향 모니터링 지원
 * 보다 유연하고 효율적인 SNMP 모니터링:
 * 각 데몬당 여러 SNMP 메트릭을 단일 요청을 사용해 일괄 쿼리
 * SNMP 폴링에서 TripleO에 배포된 노드들을 동적으로 검색
 * Ceilometer가 수집하는 SNMP 메트릭 범위를 보다 쉽게 확장 가능
 * 여러 주요 지표에 적용 가능한 산술적 변환을 통해 새로운 지표를 산출 가능
 * 알람을 별도의 데이터베이스로 분할하여 영구 저장하는 옵션 추가
 * 메시지를 미터링하기 위해 RPC 대신 notification을 사용하는 옵션 추가
 * Neutron 네트워크 서비스 미터링: LBaaS, FWaaS & VPNaaS
 * 새로운 XenAPI compute inspector
 * MongoDB와 Hbase 스토리지 드라이버를 통한 이벤트 저장 기능 지원 (이전에는 SQLAlchemy에 한정되었음)
 * 인스턴스 디스크에 대한 장치당 미터링 지원
 * os-profiler 데이터 수집에 Ceilometer 이용
 * Cloud Administrator Guide에 새로 Telemetry 섹션 추가

알려진 이슈

 * 1381600 새로운 는  에서 파싱 불가능한 데이터를 수신하는 경우 샘플 데이터 전송이 실패합니다.

업그레이드 노트

 * Ceilometer에서 업데이트, deprecated, 제거된 옵션 목록은 여기서 확인 가능합니다: http://docs.openstack.org/trunk/config-reference/content/ceilometer-conf-changes-master.html

새로운 주요 기능

 * 스택 업데이트 도중 발생하는 실패로부터 복구
 * 진행 중인 스택 업데이트 취소 및 롤백 API
 * 새로운 자원 유형 구현:
 * OS::Glance::Image
 * OS::Heat::SwiftSignal
 * Swift에서 Wait 상태 (및 소프트웨어 배포) 데이터를 저장하는 옵션 제공
 * OS::Heat::StructuredDeployments
 * 여러 lifecycle 이벤트를 단일 배포 자원으로 코드를 그룹화
 * OS::Heat::SoftwareDeployments
 * 상호 독립적인 클러스터 서버를 배포할 때 순환 종속성을 회피하는 방법을 제공
 * OS::Heat::SoftwareComponent
 * OS::Nova::ServerGroup
 * OS::Sahara::NodeGroupTemplate
 * OS::Sahara::ClusterTemplate
 * 스택 업데이트시 이전에 제공했던 매개 변수를 기억
 * 확장성 개선
 * 중첩된 스택에 대한 트리 형태로의 표시 개선

알려진 이슈
아직 없음.

업그레이드 노트

 * Heat에서 업데이트, deprecated, 제거된 옵션 목록은 여기서 확인 가능합니다: http://docs.openstack.org/trunk/config-reference/content/heat-conf-changes-master.html

새로운 주요 기능

 * 프로비저닝된 MySQL 인스턴스 간 비동기 복제 (master-slave 복제) 지원
 * MongoDB 클러스터에 대한 초기 지원을 포함한 새로운 클러스터링 API 소개
 * Neutron을 네트워킹으로 사용하는 OpenStack 솔루션을 Trove에 배포 지원. 이전까지는, nova-network만 지원하였습니다.
 * PostgreSQL 데이터저장소 인스턴스 프로비저닝 지원
 * Couchbase에 대한 백업 및 복구 지원
 * Cinder 백엔드를 Trove 볼륨으로 한정하는 옵션 지원
 * Trove 데이터베이스 내에서 사용자정의 데이터저장소 구성 매개변수 정의 지원 (관리 API 사용)
 * 단일 요청으로 모든 데이터저장소 유형 및 버전 목록을 살펴보는 기능

기타 점차적인 개선

 * Trove 컴포넌트를 통한 로그 레벨을 개선하기 위한 로깅 감사
 * 로딩 메커니즘에 대한 익스텐션이 Stevedore 지원을 추가함으로써 개선되었습니다.
 * 데이터에 대한 볼륨 지원 기능이 이제는 데이터저장소을 기반으로 한 단위입니다.
 * 생성 & 업데이트된 timestamp 및 인스턴스 카운트가 구성 그룹 목록 및 세부 내역에 대한 요청에 추가되었습니다.

알려진 이슈

 * 1333852: Trove 는 flavor UUID를 지원하지 않습니다 -- Trove flavor API는 Icehouse Trove에 대한 API 응답에 대해 일관성을 유지하기 위해 숫자로 된 ID에 대한 flavor를 필요로 합니다.

업그레이드 노트
아직 없음.

새로운 주요 기능

 * 데이터 처리 UI가 OpenStack 대시보드 (horizon)에 완벽하게 통합되었습니다.
 * CDX 5.x 지원 추가
 * Apache Spark 지원이 추가되었습니다. 지원되는 버전은 0.9.1와 1.0.0입니다. Elastic 데이터 처리 (EDP) 엔진은 非 Oozie 워크플로우 엔진을 지원하도록 크게 리팩토링되었습니다.
 * 기존 1.2.1, 2.3.0에 덧붙여 Apache Hadoop 2.4.1 지원이 추가되었습니다. 2.3.0 버전은 Juno에서 deprecated 되었습니다.
 * 여러 지역에 대한 배포 지원
 * keystone 신뢰 메거니즘을 사용한 Hadoop Swift 인증. 이제 Hadoop에서는 구성 파일에 credential을 저장하지 않고 Swift에서 데이터에 접근 가능합니다.
 * Ceilometer 통합이 추가되었습니다. 이제 Sahara는 Ceilometer에 모든 클러스터 상태 변화를 알려줍니다.
 * 클러스터 프로비저닝 에러 핸들링이 개선되었습니다. 스케일링하는 동안 오류가 발생하면 클러스터는 원래 상태로 롤백할 것입니다.
 * 노드 그룹에 대한 보안 그룹 지정 기능이 추가되었습니다. 또한, Sahara에서는 필요로 하는 오픈된 포트만을 사용하도록 보안 그룹을 자동 생성할 수 있습니다.
 * Sahara에 대한 분산 모드 구현: sahara-all 프로세스가 sahara-api와 sahara-engine으로 분리되었습니다. 다른 호스트에 sahara-api와 sahara-engine에 대한 여러 인스턴스를 실행할 수 있습니다. 참고로, 본 기능 구현은 알파 상태로 간주되고 있습니다.

알려진 이슈

 * Bug 1271349: Sahara는 네임스페이스를 통해 VM에 접근할 때 root 권한을 필요로 합니다.

메인 바이너리명이 sahara-all 로 변경되었습니다
All-in-One Sahara를 시작하기 위해 `sahara-api` eotls `sahara-all`를 사용해야 합니다.

sahara.conf 업그레이드
사용자정의 auth_token 미들웨어 구성 옵션을 일반적인 구성 옵션으로 마이그레이션하였습니다. 구성 파일을 업데이트하기 위해 다음 이전 구성 옵션을 새로운 옵션으로 변경해야 합니다.


 * "os_auth_protocol", "os_auth_host", "os_auth_port" -> "[keystone_authtoken]/auth_uri" and "[keystone_authtoken]/identity_uri"
 * "os_admin_username" -> "[keystone_authtoken]/admin_user"
 * "os_admin_password" -> "[keystone_authtoken]/admin_password"
 * "os_admin_tenant_name" -> "[keystone_authtoken]/admin_tenant_name"

sahara.openstack.common.db에 있던 oslo 코드를 oslo.db 라이브러리를 사용하는 것으로 변경하였습니다.

또한 sqlite 데이터베이스는 더 이상 지원하지 않습니다. Sahara DB 백엔드로 MySQL 또는 PostgreSQL을 사용하십시오. Sqlite 지원이 중단된 이유는 버전 간 DB 마이그레이션시 필요로 하는 ALTER COLUMN 및 DROP COLUMN 명령어를 지원하지 않기 (그리고 미지원 예정, http://www.sqlite.org/omitted.html 참고) 때문입니다.

Shhara 저장소에 대한 구성 파일 옵션과 관련한 자세한 정보는 "etc/sahara/sahara.conf.sample" 파일을 참고하십시오.

Sahara Dashboard가 OpenStack Dashboard에 통합됨
Sahara Dashboard는 Juno 릴리즈에서 사용 불가능합니다. 대신, 해당 기능은 OpenStack Dashboard에 통합되어 제공됩니다. Sahara UI는 OpenStack 대시보드에서 "Project" -> "Data Processing" 탭에서 볼 수 있습니다.

참고로, Sahara IO가 Dashboard에서 동작하도록 하기 위해서는 Keystone에 Sahara를 올바르게 등록해야 합니다.

HEAT 인프라 엔진에서 VM 사용자 이름 변경
HEAT 인프라 엔진 ("infrastructure_engine=heat")에서 사용하는 인스턴스 사용자 이름 규칙을 direct 엔진과 동일하도록 변경하였습니다. HEAT 엔진을 사용해 Sahara에서 생성한 VM 사용자 이름이 변경되기 이전에는 항상 'ec2-user'였습니다. 이제, 사용자 이름은 문서이 설명된 바와 같이 이미지 저장소로부터 가져옵니다.

참고로, 이 변경 사항으로 Sahara에서 해당 변화 이전에 HEAT 인프라 엔진을 사용해 생성한 클러스터에 대한 하위 호환성을 지원하지 않습니다. 클러스터는 계속 작동하지만, 해당 클러스터에 대해 스케일 동작을 수행하는 것은 권장하지 않습니다.

Anti affinity 구현 변경
Juno 릴리즈부터 anti affinity 기능은 서버 그룹을 사용하는 것으로 구현됩니다. 사용자 관점에서는 Sahara 동작에 있어 큰 변화가 없을 것이지만, 다음과 같은 내부 변화 사항이 있습니다:


 * Anti affinity 기능이 활성화 되었을 때 서버 그룹 개체가 생성될 것입니다.
 * 새로운 구현은 인스턴스들이 공통 프로세스를 갖고 있지 않더라도 동일 호스트에 여러 영향을 미치는 인스턴스를 허용하지 않습니다. 따라서, 만약 'datanode'와 'tasktracker' 프로세스에 anti affinity를 활성화하였을 때, 이전 구현에서는 'datanode' 프로세스를 가진 인스턴스와 'tasktracker' 프로세스를 가진 다른 인스턴스가 한 호스트에서 실행되는 것을 허용하였습니다. 새로운 구현에서는 해당 인스턴스들이 다른 호스트에서 실행되어야 함을 보장합니다.

참고로, 새로운 구현은 새 클러스터에만 적용될 것입니다. 이전 구현은 사용자가 Icehouse에서 생성했던 클러스터를 스케일할 때만 적용될 것입니다.

OpenStack Documentation

 * 해당 릴리즈에 대해, OpenStack Foundation은 새로운 OpenStack Architecture Design Guide를 작성하기 위한 5일 동안 book sprint를 개최하였습니다. 해당 가이드는 범용, compute 중심, 스토리지 중심, 네트워크 중심, 멀티사이트, 혼합, 대규모 확장 및 특수한 클라우드 환경을 위한 아키텍처를 제공합니다.
 * 설치 가이드에서 많은 정리 및 표준화를 수행하였습니다: 일반화된 메시지 큐 사용 (RabbitMQ), 보다 나은 학습 기회와 일관성을 위한 openstack-config (crudini) 명령을 구성 파일 편집으로 대체, MariaDB 또는 MySQL로 치환 가능하도록 범용적인 SQL 데이터페이스 참고, 그리고 auth_port와 auth_protocol을 identity_uri로 대체 및 auth_host를 auth_uri로 대체하였습니다. 설치 가이드는 각 배포판에 대해 전체적으로 테스트하였고, 공식 릴리즈 패키지가 모든 사용자가 이용 가능할 때까지 계속해서 수정됩니다.
 * High Availability Guide (고가용성 가이드)가 별도의 리뷰 팀을 거쳐 독립된 저장소로 이동하였습니다.
 * Security Guide (보안 가이드)가 이제 전문 리뷰를 거쳐 독립된 저장소로 이동하였습니다.
 * 장문으로 된 API 레퍼런스 문서가 API Complete Reference (API 전체 레퍼런스)에 초점을 맞추고 재구성되었습니다.
 * 사용자 가이드는 이제 OpenStack 데이터베이스 서비스에 대한 정보를 포함합니다.
 * Command-Line 레퍼런스가 새로운 클라이언트 릴리즈를 포함하도록 업데이트되어 이제 일반적인 OpenStack 클라이언트, trove-manage 클라이언트 및 데이터 처리 (sahara) 클라이언트를 위한 추가 chapter를 포함합니다.
 * OpenStack Cloud Administrator Guide (클라우드 관리자 가이드)에 이제 Telemetry (ceilometer) 대한 정보를 포함합니다.