Jump to: navigation, search

ReleaseNotes/Icehouse/ko KR


OpenStack 2014.1 (Icehouse) 릴리즈 노트

Contents

종합적인 업그레이드 노트

OpenStack 오브젝트 스토리지 (Swift)

새로운 주요 기능

  • 검색 기능(Discoverable capabilities): Swift 프록시 서버가 현재 디폴트로 (해제 가능) 정보를 요청하는 것에 대해 대응할 것입니다. 해당 요청에 대한 응답에는 클러스터와 관련된 정보가 포함되며, 클라이언트들이 클러스터에서 어떤 기능들이 지원되는지 결정하는데 사용될 수 있습니다. 이는 하나의 클라이언트가 여러 Swift 클러스터들과 통신 수행이 가능해지고, 각 클러스터 내에서 사용 가능한 기능들을 활용할 수 있도록 함을 의미합니다.
  • 시스템 메타데이터를 유지하는 일반화된 방법: Swift는 현재 계정과 컨데이너에 대해 시스템 레벨의 메타데이터를 지원합니다. 시스템 메타테이터는 실제 사용자정의 메타데이터를 코어 swift 서버들을 통해 파헤칠 필요 없이 Swift 자원들을 안전하고 보안성있는 방법으로 연관지어 내부 사용자정의 메타데이터를 저장하는 방법을 제공합니다. 새로운 문지기에 해당하는 미들웨어는 이 시스템 메타데이터가 요청 또는 클라이언트로부터 설정되어 유출되는 것을 방지합니다.
  • 계정 레벨의 ACL 및 ACL 형식 v2: 계정들은 현재 ACL 또는 새로운 형태의 계정 레벨 권한 제어를 표현하기 위한 새로운 권한을 갖는 헤더를 갖습니다. 해당 헤더 값은 인증 시스템에 의해 해석되는 JSON 사전 문자열에 해당합니다. 이에 대한 레퍼런스 구현은 TempAuth에 있습니다. http://swift.openstack.org/overview_auth.html 문서 전체를 참고하셨으면 합니다.
  • 개체 복제 ssync (rsync 대안): Swift 저장소 노드는 현재 rsync 대신 전송 복제를 위한 Swift 기반 요소들을 사용하도록 구성되어 있습니다.
  • 읽기 실패에 대한 자동화된 재시도: 원본이 개체 서버 읽기로부터 일정 시간 반응하지 않는 경우, 수정된 범위에 따른 다른 곳으로 재시도를 수행합니다. 이는 클라이언트 요청 중 발생하는 드라이브 실패가 최종 사용자 클라이언트에서 보이지 않음을 의미합니다.
  • 다가오는 저장소 정책에 따른 작업

알려진 이슈

이번에는 없음.

업그레이드 노트

업그레이드에 영향을 미칠 수 있는 구성 변동에 대한 전체 변동 로그 내역은 https://github.com/openstack/swift/blob/master/CHANGELOG 에서 확인할 수 있습니다.

항상 그래왔듯이, Swift는 다운타임 없이 업그레이드 가능합니다.

OpenStack Compute (Nova)

새로운 주요 기능

업그레이드 지원

  • 제한된 라이브 업그레이드를 지원합니다. 이는 도입 사용자들이 컨트롤러 인프라를 먼저, 그리고 다음으로 각 compute 노드들을 업그레이드하여 전체 클라우드에 대한 다운타임을 필요로 하지 않고 업그레이드가 완료되는 것을 가능하게 합니다.

Compute 드라이버

Hyper-V
  • RDP 콘솔 지원 추가.
Libvirt (KVM)
  • Libvirt compute 드라이버는 현재 compute 인스턴스들을 부팅할 때 수정된 커널 인수들을 제공하는 것을 지원합니다. 커널 인수들은 해당 키에 대한 값이 제공되는 경우 Glance에 저장된 이미지 메타데이터 내 os_command_line 키로부터 검색됩니다. 그렇지 않으면, 디폴트 커널 인수들이 사용됩니다.
  • Libvirt 드라이버는 현재 인스턴스에 대한 블록 디바이스 접근을 제공하기 위해 VirtIO Block (virtio-blk) 대신 VirtIO SCSI (virtio-scsi) 사용을 지원합니다. Virtio SCSI는 VirtIO Block의 다음 지원으로 디자인된 반가상화 SCSI 컨트롤러 장치로 향상된 확장성과 성능을 제공하는 것을 목표로 하고 있습니다.
  • Libvirt Compute 드라이버는 현재 향상된 엔트로피를 제공하기 위해 compute 인스턴스에 Virtio RNG 장치를 추가하는 것을 지원합니다. Virtio RNG는 반가상화된 랜덤 숫자 생성 장치로, compute 노드가 compute 인스턴스들에 해당 인스턴스들의 엔트로피 풀을 채우기 엔트로피를 제공하도록 합니다. 기존 사용되던 디폴트 엔트로피 장치는 /dev/random입니다, 그러나 호스트에 연결된 물리 하드웨어 RNG 장치에 대한 사용 역시 가능합니다. Virtio RNG 장치를 사용하려면 인스턴스를 빌드하는데 사용되는 이미지의 메타데이터 내 hw_rng 속성을 이용하여 활성화합니다.
  • Libvirt 드라이버는 현재 인스턴스 구성이 디폴트 (cirros)가 아닌 비디오 드라이버 사용을 지원합니다. 이는 비디오 드라이버 모델을 다르게, 비디오 RAM 용량을 다르게, 그리고 헤더 개수를 (연결 커넥터 수) 다르게 명시하는 것을 가능하게 합니다. 해당 값들은 이미지 메타데이터 내 hw_video_model, hw_video_vram, 그리고 hw_video_head 속성을 설정하여 구성합니다. 현재 지원되는 비디오 드라이버 모델은 vga, cirrus, vmvga, xen, 그리고 qxl 입니다.
  • 감시장치(Watchdog) 지원이 Libvirt 드라이버에 추가되었습니다. 사용되는 watchdog 장치는 i6300esb 입니다. 해당 장치는 이미지 속성들 내에 있는 hw_watchdog_action 또는 flavor 추가 명세 (extra_specs)를 disabled가 아닌 값으로 설정하여 활성화합니다. 인스턴스 실패에 대한 이벤트를 얻기 위해 watchdog 장치에 액션을 나타내도록 지원하는 hw_watchdog_action 속성 값들로는 poweroff, reset, pause, 그리고 none가 있습니다..
  • 고정밀도 이벤트 타이머 (HPET)가 이제 Libvirt 드라이버를 사용해 생성되는 인스턴스들에 대해서 비활성화됩니다. 이 옵션에 대한 사용으로 Windows 게스트가 과부하 상태일 때 시계에 오차가 발생하는 현상이 발견되었습니다.
  • libvirt 드라이버가 이제 인스턴스가 부팅되는 도중 보다 나은 신뢰성을 위해 Neutron으로부터 발생하는 이벤트를 기다립니다. 이는 해당 이벤트들을 보내는 것을 지원하는 적절한 새로운 Neutron을 필요로 하고, 네트워킹이 준비되기를 기대하는 인스턴스에 대한 상황과 필요로 하는 실제 구축 작업간에 발생하는 경쟁 상태를 회피합니다.
VMware
  • VMware Compute 드라이버는 이제 가상 머신 진단 요청을 지원합니다. 진단은 "nova diagnostics INSTANCE" 명령어를 사용하여 가져올 수 있는데, 이 때 INSTANCE는 인스턴스 이름 또는 인스턴스 구분자에 해당됩니다.
  • VMware Compute 드라이버는 이제 ISO 이미지로부터의 인스턴스 부팅이 가능해졌습니다.
  • VMware Compute 드라이버는 이제 캐시된 이미지에 대한 에이징을 지원합니다.
XenServer
  • 모든 XenServer의 특정 설정 항목들은 이름이 새로 변경되었고, nova.conf 파일의 [xenserver] 영역으로 이동되었습니다. 이전 이름들도 여전히 이번 릴리스에서 동작은 되지만, 현재는 지원종료 상태(deprecated)이고 Nova의 향후 릴리스에서는 이전 이름을 지원하지 못할 것입니다.
  • PCI passthrough를 위한 초기 지원 추가
  • XenServer CI의 소개를 통해 그룹 B 상태를 유지
  • 디스크에 대한 지원 개선( 여러개의 ephemeral 디스크에 대한 지원 migrationresize up)
  • CPU 리소스가 Dom0일 때 필수적인 vcpu_pin_set을 지원
  • 다양한 성능 및 안정성 향상이 있습니다.

API

  • 오픈스택 컴퓨트에서 Nova API V3의 OS-DCF:diskConfig API 속성이 더 이상 지원되지 않습니다.
  • Compute API는 이제 XML 및 JSON 포맷을 둘다 지원합니다. 그러나 향후 릴리스에서는 XML 포맷이 미지원(deprecated)되고 결국 제거될 것입니다.
  • Compute API는 이제 해체된(decommissioned) 컴퓨트 노드를 영구히 제거하는 메커니즘으로 동작합니다. 이전에는 컴퓨트 서비스가 disable 상태이고 시스템이 re-provision함에도 불구하고 목록에 계속 남아 있었습니다. 이러한 기능은 ExtendedServicesDelete라는 확장 API에 의해 제공됩니다.
  • 분리된 V3 API admin_actions 은 로컬에 있는 플러그인과 결합하여, 운영자는 플러그인에 현재 나타난 기능의 일부를 활성화(enable)할 수 있습니다.
  • 컴퓨트 서비스는 이제 OpenStack Networking (Neutron)와 인증할 때 테넌트 이름 대신에 테넌트 id를 사용합니다. 이는 유일하지 않은(non-unique ) 테넌트 이름을 허용하는 OpenStack Identity API v3을 지원하기 위함입니다.
  • Compute API는 이제 하이퍼바이저 IP주소를 알려주므로, 관리자는 nova hypervisor-show 명령어로 IP 를 가져올 수 있습니다.

Scheduler

  • 스케줄러는 이제 캐싱 스케줄러 드라이버의 초기 구현체를 포함합니다. 캐싱 스케줄러는 스케줄러 필터와 가중치를 적용하기 위해 존재하는 facilities를 사용하지만, 사용 가능한 호스트들의 목록을 캐시합니다. 사용자 요청이 캐싱 스케줄러를 통과하면, 스케줄러 성능 향상을 위하여 캐싱된 호스트들의 목록에 따라 스케줄링을 수행합니다.
  • 새로운 스케줄러 필터, AggregateImagePropertiesIsolation, 가 소개되었습니다. 새로운 필터는 호스트 집합(host aggregate) 속성을 고려하여 네임스페이스 이미지 속성들과 일치하는 호스트로 인스턴스를 스케줄링합니다. 어떠한 호스트 집합(host aggregate)에 속하지 않는 호스트들은 유효한 상태로 남아서, 모든 이미지에 근거하여 인스턴스들의 타겟을 스케줄링합니다. 새로운 컴퓨트 서비스 설정 키인 aggregate_image_properties_isolation_namespaceaggregate_image_properties_isolation_separator 는 필터에 의해 어떠한 이미지 속성들이 검증되어야 할지를 결정하는데 사용됩니다.
  • OpenStack Compute에서의 가중치 값 정규화: 참조:
    • https://review.openstack.org/#/c/27160/ 가중치는 정규화됩니다, 그래서 인위적으로 값을 확대할 필요가 없습니다. 가중치 최대값은 노드당 1.0, 최소값은 0.0입니다.
  • 스케줄러는 이제 서버 그룹을 지원합니다. - anti-affinity 및 affinity filters 타입을 지원합니다. 배포된 서버는 미리 정의된 정책을 따라 수행될 것입니다.

Other Features

  • 키패어 생성 및 삭제에 따라 이제 알림 메시지(Notifications)가 생성됩니다.
  • 컴퓨터 호스트가 활성화(enabled), 비활성화(disabled), 전원 ON(powered on), 종료(shut down), 리붓(rebooted), 유지보수 모드(maintenance mode) 전환/복귀에 따라 알림 메시지가 생성됩니다.
  • 컴퓨트 서비스는 이제 서비스 종료(shutdown)이 요청될 때 새로운 요청 처리를 비활성화하고, 이미 처리 중인 요청은 종료 전에 완료를 함으로써 gracefully shutdown이 가능해집니다.
  • 컴퓨트 서비스는 running_deleted_instance_action 설정키 값에 따라 이전에 삭제로 마킹된 상태에서 운영 상태인 인스턴스가 발견되면, 어떤 조치를 취해야할지를 결정합니다. 새로운 shutdown 값이 추가되었습니다. 이 값은 관리자가 런타임 리소스를 릴리즈하는 동안 진단을 위해 이러한 상태인 인스턴스가 발견되도록 할지를 옵션 선택할 수 있도록 합니다.
  • 오픈스택 컴퓨트에서 파일 인젝션은 디폴트로 비활성화됩니다. 대신에 구동 시 CongigDrive 및 메타데이터 서버 facilities가 게스트를 수정하는데 사용하도록 권장합니다. 파일 인젝션을 활성화시키려면, /etc/nova/nova.conf파일에서 inject_keyinject_partition 설정 키를 수정하고 컴퓨트 서비스를 재시작합니다. 파일 인젝션 메커니즘은 향후 릴리스에서는 비활성화될 것 같습니다.
  • /etc/nova/nova.conf 설정 파일 내 많은 부분이 그동안 요구되었던 포맷으로 변경되었습니다. 파일 내 모든 설정 그룹들이 서술적인 이름을 사용하도록 수정되었습니다. 또한, Libvirt 드라이버를 포함한 여러 드라이버 특화된 플래그들은 각자의 옵션 그룹으로 이동되었습니다.

알려진 이슈

  • 다른 프로젝트들에서 새로운 API 버전을 사용하고 있습니다. 다음이 Icehouse에서 OpenStack Compute 몇가지 기능을 테스트한 API 버전입니다:
    • Keystone v2
    • Cinder v1
    • Glance v1

업그레이드 노트

  • 스케줄러 및 가중치값 정규화 (https://review.openstack.org/#/c/27160/): 이전 릴리즈들에서는 Compute 및 Cells 스케줄러가 가중치값을 그대로 사용하였습니다. (즉, 가중치 측정 부분에서 임의의 값이 반환되고, 해당 값을 가중치 계산 과정에서 사용하였습니다).
    • Compute에서 여러 weigher(가중치 계산기)를 사용했던 경우:
      • 몇몇 가중치 계산기를 사용하였다면 (이전 릴리즈에서 Nova는 compute용으로 하나의 가중치 측정기만 포함하였습니다.), 큰 가중치값을 그대로 반환하는 다른 가중치 계산기 대신 사용하고 중요한 가중치 계산기를 우선시키기 위해 계수를 인위적으로 늘리는 것이 가능합니다. 가중치 계산기를 확인하여, 현재 한 호스트에 대한 가중치 값이 항상 최소값 0.0에서 최대값 1.0으로 고려해야 할 필요가 있습니다.
    • cell을 사용하는 경우:
      • nova.cells.weights.mute_child.MuteChild: 가중치 계산기가 잠시 해당 용량을 갱신하지 않은 자식에 할당된 가중치를 mute_weight_value 로 반환합니다. 해당 값은 여전히 사용 가능하지만, 1.0 값이 될 것이기에 가중치를 매기는 과정에서 계산될 때 최종 가중치 값에 영향을 미치지 않을 것입니다. 자식 cell 값을 고려하지 않기 위해 해당 가중치 계산기를 사용하는 경우 mute_weight_multiplier를 조정해야 할 필요가 있습니다.
      • nova.cells.weights.weight_offset.WeightOffsetWeigher 에서는 offset_weight_multiplier라는 새로운 구성 옵션을 소개합니다. 이 새로운 옵션은 조정되어야만 합니다. 이전 릴리즈들에서는, 가중치 계산기가 가중치 계산 과정에서 각 cell 내 구성된 오프셋에 해당하는 값을 반환했습니다. 해당 과정에서의 최종 선택 대상은 여전히 동일하겠지만, 1.0이라는 가중치값을 얻을 것입니다. 해당 가중치 계산기를 사용하고 해당 값을 의존적으로 사용하여 다른 가중치 계산기 대신 주로 사용하고자 하는 경우, 해당 계수값을 적절히 조정해야 할 필요가 있습니다.
  • 일찍히 Docker compute 드라이버가 Havana 버전에 포함이 되어었습니다. 이 드라이버를 Nova 레포에서 새로운 레포로 이동하였습니다. 새로운 주소는 http://git.openstack.org/cgit/stackforge/nova-docker 입니다.
  • https://review.openstack.org/50668 - compute_api_class 구성 옵션 삭제.
  • https://review.openstack.org/#/c/54290/ - 다음 권장하지 않는 구성 옵션들에 대한 별칭은 새 이름을 사용하는 방향으로 삭제되었습니다:
    • service_quantum_metadata_proxy
    • quantum_metadata_proxy_shared_secret
    • use_quantum_default_nets
    • quantum_default_tenant_id
    • vpn_instance_type
    • default_instance_type
    • quantum_url
    • quantum_url_timeout
    • quantum_admin_username
    • quantum_admin_password
    • quantum_admin_tenant_name
    • quantum_region_name
    • quantum_admin_auth_url
    • quantum_api_insecure
    • quantum_auth_strategy
    • quantum_ovs_bridge
    • quantum_extension_sync_interval
    • vmwareapi_host_ip
    • vmwareapi_host_username
    • vmwareapi_host_password
    • vmwareapi_cluster_name
    • vmwareapi_task_poll_interval
    • vmwareapi_api_retry_count
    • vnc_port
    • vnc_port_total
    • use_linked_clone
    • vmwareapi_vlan_interface
    • vmwareapi_wsdl_loc
  • PowerVM 드라이버 삭제했습니다. : https://review.openstack.org/#/c/57774/
  • nova.conf에 있는 keystone_authtoken 기본값이 변경되었습니다: https://review.openstack.org/#/c/62815/
  • libvirt lvm names changed from using instance_name_template to instance uuid (https://review.openstack.org/#/c/76968). Possible manual cleanup required if using a non default instance_name_template.
  • rbd disk names changed from using instance_name_template to instance uuid. Manual cleanup required of old virtual disks after the transition. (TBD find review)
  • Icehouse brings libguestfs as a requirement. Installing icehouse dependencies on a system currently running havana may cause the havana node to begin using libguestfs and break unexpectedly. It is recommended that libvirt_inject_partition=-2 be set on havana nodes prior to starting an upgrade of packages on the system if the nova packages will be updated last.
  • Creating a private flavor now adds access to the tenant automatically. This was the documented behavior in Havana, but the actual mplementation in Havana and previous versions of Nova did not add the tenant automatically to private flavors.
  • Nova previously included a nova.conf.sample. This file was automatically generated and is no longer included directly. If you are packaging Nova and wish to include the sample config file, see etc/nova/README.nova.conf for instructions on how to generate the file at build time.
  • Nova now defaults to requiring an event from Neutron when booting libvirt guests. If you upgrade Nova before Neutron, you must disable this feature in Nova until Neutron supports it by setting vif_plugging_is_fatal=False and vif_plugging_timeout=0. Recommended order is: Nova (with this disabled), Neutron (with the notifications enabled), and then enable vif_plugging_is_fatal=True with the default value of vif_plugging_timeout.
  • Nova supports a limited live upgrade model for the compute nodes in Icehouse. To do this, upgrade controller infrastructure (everthing except nova-compute) first, but set the [upgrade_levels]/compute=icehouse-compat option. This will enable Icehouse controller services to talk to Havana compute services. Upgrades of individual compute nodes can then proceed normally. When all the computes are upgraded, unset the compute version option to retain the default and restart the controller services.
  • The following configuration options are marked as deprecated in this release. See nova.conf.sample for their replacements. [GROUP]/option
    • [DEFAULT]/rabbit_durable_queues
    • [rpc_notifier2]/topics
    • [DEFAULT]/log_config
    • [DEFAULT]/logfile
    • [DEFAULT]/logdir
    • [DEFAULT]/base_dir_name
    • [DEFAULT]/instance_type_extra_specs
    • [DEFAULT]/db_backend
    • [DEFAULT]/sql_connection
    • [DATABASE]/sql_connection
    • [sql]/connection
    • [DEFAULT]/sql_idle_timeout
    • [DATABASE]/sql_idle_timeout
    • [sql]/idle_timeout
    • [DEFAULT]/sql_min_pool_size
    • [DATABASE]/sql_min_pool_size
    • [DEFAULT]/sql_max_pool_size
    • [DATABASE]/sql_max_pool_size
    • [DEFAULT]/sql_max_retries
    • [DATABASE]/sql_max_retries
    • [DEFAULT]/sql_retry_interval
    • [DATABASE]/reconnect_interval
    • [DEFAULT]/sql_max_overflow
    • [DATABASE]/sqlalchemy_max_overflow
    • [DEFAULT]/sql_connection_debug
    • [DEFAULT]/sql_connection_trace
    • [DATABASE]/sqlalchemy_pool_timeout
    • [DEFAULT]/memcache_servers
    • [DEFAULT]/libvirt_type
    • [DEFAULT]/libvirt_uri
    • [DEFAULT]/libvirt_inject_password
    • [DEFAULT]/libvirt_inject_key
    • [DEFAULT]/libvirt_inject_partition
    • [DEFAULT]/libvirt_vif_driver
    • [DEFAULT]/libvirt_volume_drivers
    • [DEFAULT]/libvirt_disk_prefix
    • [DEFAULT]/libvirt_wait_soft_reboot_seconds
    • [DEFAULT]/libvirt_cpu_mode
    • [DEFAULT]/libvirt_cpu_model
    • [DEFAULT]/libvirt_snapshots_directory
    • [DEFAULT]/libvirt_images_type
    • [DEFAULT]/libvirt_images_volume_group
    • [DEFAULT]/libvirt_sparse_logical_volumes
    • [DEFAULT]/libvirt_images_rbd_pool
    • [DEFAULT]/libvirt_images_rbd_ceph_conf
    • [DEFAULT]/libvirt_snapshot_compression
    • [DEFAULT]/libvirt_use_virtio_for_bridges
    • [DEFAULT]/libvirt_iscsi_use_multipath
    • [DEFAULT]/libvirt_iser_use_multipath
    • [DEFAULT]/matchmaker_ringfile
    • [DEFAULT]/agent_timeout
    • [DEFAULT]/agent_version_timeout
    • [DEFAULT]/agent_resetnetwork_timeout
    • [DEFAULT]/xenapi_agent_path
    • [DEFAULT]/xenapi_disable_agent
    • [DEFAULT]/xenapi_use_agent_default
    • [DEFAULT]/xenapi_login_timeout
    • [DEFAULT]/xenapi_connection_concurrent
    • [DEFAULT]/xenapi_connection_url
    • [DEFAULT]/xenapi_connection_username
    • [DEFAULT]/xenapi_connection_password
    • [DEFAULT]/xenapi_vhd_coalesce_poll_interval
    • [DEFAULT]/xenapi_check_host
    • [DEFAULT]/xenapi_vhd_coalesce_max_attempts
    • [DEFAULT]/xenapi_sr_base_path
    • [DEFAULT]/target_host
    • [DEFAULT]/target_port
    • [DEFAULT]/iqn_prefix
    • [DEFAULT]/xenapi_remap_vbd_dev
    • [DEFAULT]/xenapi_remap_vbd_dev_prefix
    • [DEFAULT]/xenapi_torrent_base_url
    • [DEFAULT]/xenapi_torrent_seed_chance
    • [DEFAULT]/xenapi_torrent_seed_duration
    • [DEFAULT]/xenapi_torrent_max_last_accessed
    • [DEFAULT]/xenapi_torrent_listen_port_start
    • [DEFAULT]/xenapi_torrent_listen_port_end
    • [DEFAULT]/xenapi_torrent_download_stall_cutoff
    • [DEFAULT]/xenapi_torrent_max_seeder_processes_per_host
    • [DEFAULT]/use_join_force
    • [DEFAULT]/xenapi_ovs_integration_bridge
    • [DEFAULT]/cache_images
    • [DEFAULT]/xenapi_image_compression_level
    • [DEFAULT]/default_os_type
    • [DEFAULT]/block_device_creation_timeout
    • [DEFAULT]/max_kernel_ramdisk_size
    • [DEFAULT]/sr_matching_filter
    • [DEFAULT]/xenapi_sparse_copy
    • [DEFAULT]/xenapi_num_vbd_unplug_retries
    • [DEFAULT]/xenapi_torrent_images
    • [DEFAULT]/xenapi_ipxe_network_name
    • [DEFAULT]/xenapi_ipxe_boot_menu_url
    • [DEFAULT]/xenapi_ipxe_mkisofs_cmd
    • [DEFAULT]/xenapi_running_timeout
    • [DEFAULT]/xenapi_vif_driver
    • [DEFAULT]/xenapi_image_upload_handler

OpenStack Image Service (Glance)

새로운 주요 기능

알려진 이슈

없음.!

Upgrade Notes

  • Glance는 oslo.messaging을 사용하여 자신의 프라이빗 통지 코드를 수정하였습니다. `notification_driver` + `transport_url`과 조합하여 사용하십시오. 이전 구성인 'notifier_strategy' 항목은 삭제 예정이지만 사용 할 수 있습니다.

OpenStack Dashboard (Horizon)

주요 새로운 기능

언어 지원

  • I18nTeam, 감사합니다. 이번 Horizon 에서는 힌디어, 독일어, 세르비아어가 추가되었습니다. 지원하는 언어로는 호주 영어, 영국 영어, 네덜란드어, 프랑스어, 일본어, 한국어, 폴란드어, 포르투칼어, 중국어(간체, 번체), 스페인어, 러시아어입니다. 관련된 내용들이 업데이트 되었습니다.

Nova

  • 라이브 마이그레이션 지원
  • HyperV 콘솔 지원
  • 디스크 구성 옵션 지원
  • 향상된 마이그레이션중인 호스트 집계와 사용가능한 존에 대한 지원
  • flavor 확장 공간에 대한 설정을 쉽게 할 수 있도록 수정

Cinder

  • Cinder 뷰에 대한 롤 베이스 접근 지원
  • v2 API 지원
  • 외장 볼륨 지원

Neutron

  • 라우터 룰 지원 -- 뉴트론에 의해 반납될 때, 라우터에 대한 라우터 룰을 출력함

Swift

  • 퍼블릭 컨테이너를 생성 및 퍼블릭 컨테이너에 대한 링크를 제공하는 기능 지원
  • 가짜(pseudo) 디렉토리의 명시적 생성 기능 지원

Heat

  • 현재 스택을 업데이트하는 기능 지원
  • 템플릿 유효성(validation) 지원
  • 환경 파일 추가 기능 지원

Ceilometer

관리자는 프로젝트 단위로 모든 서비스에 대한 일별 사용량 리포트를 확인 가능

User Experience Enhancements

More Extensible Navigation

The primary dashboard and panel navigation has been updated from the tab navigation to an accordion implementation. Dashboards and Panel Groups are now expandable and collapsible in the page navigation. This change allows for the addition of more dashboards as well as accommodates the increasing number of panels in dashboards.

Wizard

Horizon now provides a Wizard control to complete multi-step interdependent tasks. This is now utilized in the create network action.

Inline Table Editing

Tables can now be written to support editing fields in the table to reduce the need for opening separate forms. The first sample of this is in the Admin dashboard, Projects panel.

Self-Service Password Change

Leveraging enhancements to Identity API v3 (Keystone), users can now change their own passwords without the need to involve an administrator. This functionality was previously only available with Identity API v2.0.

Server side table filtering

Tables can now easily be wired to filter results from underlying API calls based on criteria selected by the user rather than just perform an on page search.


프레임워크

JavaScript

더 나은 사용자 경험을 제공하기 위해 Horizon은 기본 자바 스크립트 프레임워크로 AngularJS를 사용합니다. Horizon 인터페이스를 실행하기 위해선 자바스크립트가 필요합니다. 주노에서는 더 많은 기능이 추가될 예정입니다.

  • Horizon에서 사용하기 위해서 reusable 차트 추가
  • Jasmine 테스팅 라이브러리에 대해 통합
Django 1.6 지원
플러그인 아키텍처

Horizon은 이제 대시 보드, 패널 그룹, 패널의 동적 로딩 / 비활성을 사용합니다. 사용하는 디렉토리에 파일을 추가하여, Horizon에 로드된 항목을 변경할 수 있습니다. 더이상 장소 설정파일의 편집이 필요하지 않습니다.

통합 테스트 프레임워크

Horizon에서 devstack 시스템에 대한 통합 테스트를 지원합니다. 이건 제한된 테스트 suite입니다. 그러나 앞으로 더 많은 것들을 지원합니다.

알려진 이슈

Identity API v3를 지원하는 멀티 도메인을 사용한다면, 사용자는 기본 도메인 이외의 도메인 자원을 관리할 수 없습니다.

업그레이드 노트

브라우저에서 JavaScript 지원이 필요합니다.

OpenStack Identity (Keystone)

새로운 주요 기능

  • 새 API v3 기능
    • /v3/OS-FEDERATION/ allows Keystone to consume federated authentication via Shibboleth for multiple Identity Providers, and mapping federated attributes into OpenStack group-based role assignments (see documentation).
    • POST /v3/users/{user_id}/password allows API users to update their own passwords (see documentation).
    • GET v3/auth/token?nocatalog allows API users to opt-out of receiving the service catalog when performing online token validation (see documentation).
    • /v3/regions provides a public interface for describing multi-region deployments (see documentation).
    • /v3/OS-SIMPLECERT/ now publishes the certificates used for PKI token validation (see documentation).
    • /v3/OS-TRUST/trusts is now capable of providing limited-use delegation via the remaining_uses attribute of trusts.
  • The assignments backend (the source of authorization data) has now been completely separated from the identity backend (the source of authentication data). This means that you can now back your deployment's identity data to LDAP, and your authorization data to SQL, for example.
  • The token KVS driver is now capable of writing to persistent Key-Value stores such as Redis, Cassandra, or MongoDB.
  • Keystone's driver interfaces are now implemented as Abstract Base Classes (ABCs) to make it easier to track compatibility of custom driver implementations across releases.
  • Keystone's default etc/policy.json has been rewritten in an easier to read format.
  • Notifications are now emitted in response to create, update and delete events on roles, groups, and trusts.
  • Custom extensions and driver implementations may now subscribe to internal-only event notifications, including disable events (which are only exposed externally as part of update events).
  • Keystone now emits Cloud Audit Data Federation (CADF) event notifications in response to authentication events.
  • Additional plugins are provided to handle external authentication via REMOTE_USER with respect to single-domain versus multi-domain deployments.
  • policy.json can now perform enforcement on the target domain in a domain-aware operation using, for example, %(target.{entity}.domain_id)s.
  • The LDAP driver for the assignment backend now supports group-based role assignment operations.
  • Keystone now publishes token revocation events in addition to providing continued support for token revocation lists. Token revocation events are designed to consume much less overhead (when compared to token revocation lists) and will enable Keystone eliminate token persistence during the Juno release.
  • Deployers can now define arbitrary limits on the size of collections in API responses (for example, GET /v3/users might be configured to return only 100 users, rather than 10,000). Clients will be informed when truncation has occurred.
  • Lazy translation has been enabled to translating responses according to the requested Accept-Language header.
  • Keystone now emits i18n-ready log messages.
  • Collection filtering is now performed in the driver layer, where possible, for improved performance.

Known Issues

  • Bug 1291157: If using the OS-FEDERATION extension, deleting an Identity Provider or Protocol does not result in previously-issued tokens being revoked. This will not be fixed in the stable/icehouse branch.
  • Bug 1308218: Duplicate user resources may be returned in response to GET /v2.0/tenants/{tenant_id}/users

Upgrade Notes

  • The v2 API has been prepared for deprecation, but remains stable in the Icehouse release. It may be formally deprecated during the Juno release pending widespread support for the v3 API.
  • Backwards compatibility for keystone.middleware.auth_token has been removed. auth_token middleware module is no longer provided by Keystone itself, and must be imported from keystoneclient.middleware.auth_token instead.
  • The s3_token middleware module is no longer provided by Keystone itself, and must be imported from keystoneclient.middleware.s3_token instead. Backwards compatibility for keystone.middleware.s3_token will be removed in Juno.
  • The default token duration has been reduced from 24 hours to just 1 hour. This effectively reduces the number of tokens that must be persisted at any one time, and (for PKI deployments) reduces the overhead of the token revocation list.
  • keystone.contrib.access.core.AccessLogMiddleware has been deprecated in favor of either the eventlet debug access log or Apache httpd access log and may be removed in the K release.
  • keystone.contrib.stats.core.StatsMiddleware has been deprecated in favor of external tooling and may be removed in the K release.
  • keystone.middleware.XmlBodyMiddleware has been deprecated in favor of support for "application/json" only and may be removed in the K release.
  • A v3 API version of the EC2 Credential system has been implemented. To use this, the following section needs to be added to keystone-paste.ini:
[filter:ec2_extension_v3]
paste.filter_factory = keystone.contrib.ec2:Ec2ExtensionV3.factory

... and ec2_extension_v3 needs to be added to the pipeline variable in the [pipeline:api_v3] section of keystone-paste.ini.

  • etc/policy.json updated to provide rules for the new v3 EC2 Credential CRUD as show in the updated sample policy.json and policy.v3cloudsample.json
  • Migration numbers 38, 39 and 40 move all role assignment data into a single, unified table with first-class columns for role references.
  • TODO: deprecations for the move to oslo-incubator db
  • A new configuration option, mutable_domain_id is false by default to harden security around domain-level administration boundaries. This may break API functionality that you depended on in Havana. If so, set this value to true and please voice your use case to the Keystone community.
  • TODO: any non-ideal default values that will be changed in the future
  • Keystone's move to oslo.messaging for emitting event notifications has resulted in new configuration options which are potentially incompatible with those from Havana (TODO: enumerate old/new config values)

OpenStack Network Service (Neutron)

중요한 새로운 기능들

Icehouse 기간동안 팀에서는 Neutron 코드베이스에 대한 안정성 및 테스트에 중점을 두었습니다. 알려진 성능 및 안정성 이슈들을 다루기 위해 기존의 많은 플러그인 및 드라이버들을 개선하였습니다.

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

  • IBM SDN-VE
  • Nuage
  • OneConvergence
  • OpenDaylight

새로운 서비스 드라이버 형태의 로드 밸런싱

  • Embrane
  • NetScaler
  • Radware

새로운 VPN 드라이버

  • Cisco CSR

알려진 이슈

  • 새로운 Nova 컬백 기능을 활성화할 때, nova_url 구성은 URL에 있는 버전 정보를 포함하고 있어야 합니다. 예를 들면 다음과 같습니다: "http://127.0.0.1:8774/v2"
  • Icehouse에 포함된 Midonet 플러그인은 동작하지 않는 것으로 알려져 있으며, 해당 플러그인 사용자들은 벤더와 상의해야 할 것입니다.
  • 고급 서비스 플러그인들이 활성화되었을 때 스키마 마이그레이션은 모든 구성에 대한 스키마 업데이트가 정상적으로 이루어지지 않을 것입니다. 실제 데이터베이스에 실행하기 전에 해당 데이터베이스를 복사한 상태에서 마이그레이션을 테스트하시기 바랍니다. Neutron 팀은 이 부분을 첫 번째 안정성 업데이트의 부분으로 다룰 것입니다.

업그레이드 노트

  • OVS 플러그인 및 Linux Bridge 플러그인은 폐지되기에, 실제 배포에 사용되지 않아야 합니다. ML2 플러그인에서는 OVS 및 Linux Bridge 지원을 하나의 플러그인 형태로 통합하였습니다. ML2로 변환하고자 찾는 Havana 도입 사용자들을 위해 migration script가 제공됩니다. 해당 마이그레이션은 되돌리기 기능을 제공하지 않기에, 실제 시스템에서 실행하기 전에 해당 데이터베이스를 복사한 상태에서 마이그레이션을 테스트할 것을 추천합니다.
  • Neutron 팀에서는 레거시 Quantum 구성 파일 옵션을 한 단계 배포판 더 추가 지원하고자 합니다. Icehouse 배포판은 해당 옵션을 지원하는 최종 배포판에 해당합니다. 도입 사용자들은 적절한 Neutron 옵션을 사용하여 구성을 업데이트할 것을 권장합니다.
  • API 내 XML 지원이 폐지되었습니다. 사용자 및 도입 사용자들은 XML 지원이 향후 배포판에서 종료될 것이기에 API 상호작용에 대해 JSON으로 마이그레이션해야 합니다.

OpenStack Block Storage (Cinder)

중요한 새로운 기능

  • 기존 볼륨 형식 변경 가능(retype)
  • Cinder 백업 오브젝트에서 볼륨 메타데이터 지원 추가
  • 다중 API worker 구현
  • Quota 삭제 기능 추가
  • Cinder에서 백업한 것을 가져오고 내보낼 수 있는 기능 추가
  • 볼륨 연결 분리시 자동 FC 존을 지정할 Fiber Channel Zone 관리자 추가
  • 볼륨 형식 암호화 업데이트 가능
  • 연결 / 제거시 Ceilometer 알림

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

  • EMC VMAX/VNX SMI-S FC Driver
  • EMC VNX iSCSI Direct Driver
  • HP MSA 2040
  • IBM SONAS and Storwize V7000 Unified Storage Systems
  • NetApp ESeries

알려진 이슈

  • 여러 서버 연결 실패하여 다시 연결하는 경우 항상 첫번째 서버에 연결됨. (Bug: #1261631)
  • Storwize/SVC 드라이버의 볼륨 복사본 상태를 확인하려면 충돌을 일으킴 (Bug: #1304115)
  • Glance API v2 지원 안함 (Bug: #1308594)
  • Cinder v1을 사용하십시오. Nova의 경우 아직 v2와 같이 일을 할 수 없습니다.

업그레이드 노트

  • 강제 분리하는 API 콜은 현제 관리자만 요청할 수 있으며, 더이상 관리자와 소유자의 policy 기본값이 아닙니다. 강제 분리를 소유자가 관리자 모르게 진행했을 경우에도 관리자가 깨끗하게 분리해줘야합니다.
  • Simple/Chance 스케줄러는 더이상 사용하지 않습니다. 필터 스케줄러는 유사한 기능을 가진 것으로 사용해야합니다. 이것을 cinder.conf에서 scheduler_driver=cinder.scheduler.filter_scheduler.FilterScheduler 설정합니다.
  • hp3par_domain 구성 옵션은 Havana 릴리즈 때 비공식적으로 삭제되었습니다. 지금은 아무것도 하지 않습니다.

OpenStack Telemetry (Ceilometer)

Key New Features

  • API additions
    • arbitrarily complex combinations of query constraints for meters, samples and alarms
    • capabilities API for discovery of storage driver specific features
    • selectable aggregates for statistics, including new cardinality and standard deviation functions
    • direct access to samples decoupled from a specific meter
    • events API, in the style of StackTach
  • Alarming improvements
    • time-constrained alarms, providing flexibility to set the bar higher or lower depending on time of day or day of the week
    • exclusion of weak data points with anomalously low sample counts
    • derived rate-based meters for disk & network, more suited to threshold-oriented alarming
  • Integration touch-points
    • split collector into notification agent solely responsible for consuming external notifications
    • redesign of pipeline configuration for pluggable resource discovery
    • configurable persistence of raw notification payloads, in the style of StackTach
  • Storage drivers
    • approaching feature parity in HBase & SQLAlchemy & DB2 drivers
    • optimization of resource queries
    • HBase: add Alarm support
  • New sources of metrics
    • Neutron north-bound API on SDN controller
    • VMware vCenter Server API
    • SNMP daemons on baremetal hosts
    • OpenDaylight REST APIs

Known Issues

Upgrade Notes

  • the pre-existing collector service has been augmented with a new notification agent that must also be started up post-upgrade
  • MongoDB storage driver now requires the MongoDB installation to be version 2.4 or greater (the lower bound for Havana was 2.2), see upgrade instructions.

OpenStack Orchestration (Heat)

Key New Features

  • HOT templates: The HOT template format is now supported as the recommended format for authoring heat templates.
  • OpenStack resources: There is now sufficient coverage of resource types to port any template to native OpenStack resources
  • Software configuration: New API and resources to allow software configuration to be performed using a variety of techniques and tools
  • Non-admin users: It is now possible to launch any stack without requiring admin user credentials. See the upgrade notes on enabling this by configuring stack domain users.
  • Operator API: Cloud operators now have a dedicated admin API to perform operations on all stacks
  • Autoscaling resources: OS::Heat::AutoScalingGroup and OS::Heat::ScalingPolicy now allow the autoscaling of any arbitrary collection of resources
  • Notifications: Heat now sends RPC notifications for events such as stack state changes and autoscaling triggers
  • Heat engine scaling: It is now possible to share orchestration load across multiple instances of heat-engine. Locking is coordinated by a pluggable distributed lock, with a SQL based default lock plugin.
  • File inclusion with get_file: The intrinsic function get_file is used by python-heatclient and heat to allow files to be attached to stack create and update actions, which is useful for representing configuration files and nested stacks in separate files.
  • Cloud-init resources: The OS::Heat::CloudConfig and OS::Heat::MultipartMime
  • Stack abandon and adopt: It is now possible to abandon a stack, which deletes the stack from Heat without deleting the actual OpenStack resources. The resulting abandon data can also be used to adopt a stack, which creates a new stack based on already existing OpenStack resources. Adopt should be considered an experimental feature for the Icehouse release of Heat.
  • Stack preview: The stack-preview action returns a list of resources which are expected to be created if a stack is created with the provided template
  • New resources: The following new resources are implemented in this release:

Known Issues

  • Any error during a stack-update operation (for example from a transient cloud error, a heat bug, or a user template error) can lead to stacks going into an unrecoverable error state. Currently it is only recommended to attempt stack updates if it is practical to recover from errors by deleting and recreating the stack.
  • The new stack-adopt operation should be considered an experimental feature
  • CFN API returns HTTP status code 500 on all errors (bug 1291079)
  • Deleting stacks containing volume attachments may need to be attempted multiple times due to a volume detachment race (bug 1298350)

Upgrade Notes

Please read the general notes on Heat's security model.

See the sections below on Deferred authentication method and Stack domain users.

Deprecated resources

The following resources are deprecated in this release, and may be removed in the future:

Deferred authentication method

The default deferred_auth_method of password is deprecated as of Icehouse, so although it is still the default, deployers are strongly encouraged to move to using deferred_auth_method=trusts, which is planned to become the default for Juno. This model has the following benefits:

  • It avoids storing user credentials in the heat database
  • It removes the need to provide a password as well as a token on stack create
  • It limits the actions the heat service user can perform on a users behalf.

To enable trusts for deferred operations:

  • Ensure the keystone service heat is configured to use has enabled the OS-TRUST extension
  • Set deferred_auth_method = trusts in /etc/heat/heat.conf
  • Optionally specify the roles to be delegated to the heat service user (trusts_delegated_roles in heat.conf, defaults to heat_stack_owner which will be referred to in the following instructions. You may wish to modify this list of roles to suit your local RBAC policies)
  • Ensure the role(s) to be delegated exist, e.g heat_stack_owner exists when running keystone role-list
  • All users creating heat stacks should possess this role in the project where they are creating the stack. A trust will be created by heat on stack creation between the stack owner (user creating the stack) and the heat service user, delegating the heat_stack_user role to the heat service user, for the lifetime of the stack.

See this blog post for further details.

Stack 도메인 사용자

To enable non-admin creation of certain resources there is some deployment time configuration required to create a keystone domain and domain-admin user, otherwise Heat will fall back to the previous behavior, but this fallback behavior may not be available in Juno.

 $OS_TOKEN refers to a token, e.g the service admin token or some other valid token for a user with sufficient roles to create users and domains.
 $KEYSTONE_ENDPOINT_V3 refers to the v3 keystone endpoint, e.g http://<keystone>:5000/v3 where <keystone> is the IP address or resolvable name for the keystone service

Steps in summary:

  • Create a "heat" keystone domain using python-openstackclient (the keystoneclient CLI interface does not support domains)
   openstack --os-token $OS_TOKEN --os-url=$KEYSTONE_ENDPOINT_V3 --os-identity-api-version=3 domain create heat --description "Owns users and projects created by heat"

This returns a domain ID, referred to as $HEAT_DOMAIN_ID below

  • Create a domain-admin user for the "heat" domain
   openstack --os-token $OS_TOKEN --os-url=$KEYSTONE_ENDPOINT_V3 --os-identity-api-version=3 user create --password $PASSWORD --domain $HEAT_DOMAIN_ID heat_domain_admin --description "Manages users and projects created by heat"
   

This returns a user ID, referred to as $DOMAIN_ADMIN_ID below

  • Make the user a domain admin by adding the admin role for the domain
   openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 --os-identity-api-version=3 role add --user $DOMAIN_ADMIN_ID --domain $HEAT_DOMAIN_ID admin
  • Update heat.conf with the domain ID and the username/password for the domain-admin user
   stack_domain_admin_password = <password>
   stack_domain_admin = heat_domain_admin
   stack_user_domain = <domain id returned from domain create above>

See this blog post for full details details.

OpenStack Database service (Trove)

새로운 주요 기능

  • 사용자/스키마 관리
    • 사용자는 MySQL 사용자와 스키마를 Trove API를 이용하여 CRUD 관리가 가능합니다.
  • Flavor / Cinder 볼륨 크기 조정
    • Trove 인스턴스에 정의된 flavor에대해서 크기 조정.
    • Datastore에 가장큰 볼륨이 필요하다면, 선택적인 Cinder 볼륨 사이즈 크기 조정
  • 다중 datastore 지원
    • MySQL과 Percona의 전체 기능 지원
    • MongoDB, Reis, Cassandra, Couchbase에 대한 실험적 지원 (전체 기능이 아닌)
  • 그룹 구성
    • 신규 혹은 기존 인스턴스에 연결하는 구성 옵션 세트 정의
  • 백업과 복구
    • Datastore에서 제공하는 네이티브 백업 소프트웨어를 실행하고, Swift 컨테이너로 출력물을 보냅니다.
    • 전체 백업, 증분(incremental) 백업
  • Designate를 이용한 선택적 DNS 지원
    • 인스턴스의 DNS 설정 여부를 지정하는 플래그 추가

알려진 이슈

아직은 없음...

업그레이트 노트

  • Trove Conductor는 게스트와 프록시 데이터베이스 통신을 위해서 새롭게 고안된 데몬입니다. 설치하고 실행해야합니다.
  • 새로운 Datastore 기능은 Datastore를 설치하는데 있어 운영자가 정의하거나 삭제할 수 있는게 되었습니다. (new Datastores feature requires operators to define (or remove) the datastores your installation will support)
  • 새로운 그룹 구성 기능은 운영자가 특정 datastore를 위한 설정 옵션들의 하위 집합들을 정의할 수 있습니다.

OpenStack Documentation

새로운 주요 기능