Jump to: navigation, search

Difference between revisions of "ReleaseNotes/Icehouse/ko KR"

(Ceilometer)
(XenServer)
Line 74: Line 74:
 
===== XenServer =====
 
===== XenServer =====
  
* All XenServer specific configuration items have changed name, and moved to a [xenserver] section in nova.conf. While the old names will still work in this release, the old names are now deprecated, and support for them could well be removed in a future release of Nova.
+
* 모든 XenServer의 특정 설정 항목들은 이름이 새로 변경되었고, nova.conf 파일의 [xenserver] 영역으로 이동되었습니다. 이전 이름들도 여전히 이번 릴리스에서 동작은 되지만, 현재는 소멸상태(deprecated)이고 Nova의 향후 릴리스에서는 이전 이름을 지원하지 못할 것입니다.  
* Added initial support for [https://blueprints.launchpad.net/nova/+spec/pci-passthrough-xenapi PCI passthrough]
+
* [https://blueprints.launchpad.net/nova/+spec/pci-passthrough-xenapi PCI passthrough]를 위한 초기 지원이 추가
* Maintained group B status through the introduction of the [[XenServer/XenServer_CI|XenServer CI]]
+
* [[XenServer/XenServer_CI|XenServer CI]]의 소개를 통해 그룹 B 상태를 유지
* Improved support for ephemeral disks (including [https://blueprints.launchpad.net/nova/+spec/xenapi-migrate-ephemeral-disks migration] and [https://blueprints.launchpad.net/nova/+spec/xenapi-resize-ephemeral-disks resize up] of multiple ephemeral disks)
+
* 디스크에 대한 지원 개선( 여러개의 ephemeral 디스크에 대한 지원 [https://blueprints.launchpad.net/nova/+spec/xenapi-migrate-ephemeral-disks migration] [https://blueprints.launchpad.net/nova/+spec/xenapi-resize-ephemeral-disks resize up])
* Support for [https://blueprints.launchpad.net/nova/+spec/xenapi-vcpu-pin-set vcpu_pin_set], essential when you pin CPU resources to Dom0
+
* CPU 리소스가 Dom0일 때 필수적인 [https://blueprints.launchpad.net/nova/+spec/xenapi-vcpu-pin-set vcpu_pin_set]을 지원
 
* 다양한 성능 및 안정성 향상이 있습니다.
 
* 다양한 성능 및 안정성 향상이 있습니다.
  

Revision as of 03:14, 22 April 2014


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

  • In OpenStack Compute, the OS-DCF:diskConfig API attribute is no longer supported in V3 of the nova API.
  • The Compute API currently supports both XML and JSON formats. Support for the XML format is now deprecated and will be retired in a future release.
  • The Compute API now exposes a mechanism for permanently removing decommissioned compute nodes. Previously these would continue to be listed even where the compute service had had been disabled and the system re-provisioned. This functionality is provided by the ExtendedServicesDelete API extension.
  • Separated the V3 API admin_actions plugin into logically separate plugins so operators can enable subsets of the functionality currently present in the plugin.
  • The Compute service now uses the tenant identifier instead of the tenant name when authenticating with OpenStack Networking (Neutron). This improves support for the OpenStack Identity API v3 which allows non-unique tenant names.
  • The Compute API now exposes the hypervisor IP address, allowing it to be retrieved by administrators using the nova hypervisor-show command.

Scheduler

  • The scheduler now includes an initial implementation of a caching scheduler driver. The caching scheduler uses the existing facilities for applying scheduler filters and weights but caches the list of available hosts. When a user request is passed to the caching scheduler it attempts to perform scheduling based on the list of cached hosts, with a view to improving scheduler performance.
  • A new scheduler filter, AggregateImagePropertiesIsolation, has been introduced. The new filter schedules instances to hosts based on matching namespaced image properties with host aggregate properties. Hosts that do not belong to any host aggregate remain valid scheduling targets for instances based on all images. The new Compute service configuration keys aggregate_image_properties_isolation_namespace and aggregate_image_properties_isolation_separator are used to determine which image properties are examined by the filter.
  • Weight normalization in OpenStack Compute: See:
    • https://review.openstack.org/#/c/27160/ Weights are normalized, so there is no need to inflate multipliers artificially. The maximum weight that a weigher will put for a node is 1.0 and the minimum is 0.0.
  • The scheduler now supports server groups. The following types are supported - anti-affinity and affinity filters. That is, a server that is deployed will be done according to a predefined policy.

Other Features

  • Notifications are now generated upon the creation and deletion of keypairs.
  • Notifications are now generated when an Compute host is enabled, disabled, powered on, shut down, rebooted, put into maintenance mode and taken out of maintenance mode.
  • Compute services are now able to shutdown gracefully by disabling processing of new requests when a service shutdown is requested but allowing requests already in process to complete before terminating.
  • The Compute service determines what action to take when instances are found to be running that were previously marked deleted based on the value of the running_deleted_instance_action configuration key. A new shutdown value has been added. Using this new value allows administrators to optionally keep instances found in this state for diagnostics while still releasing the runtime resources.
  • File injection is now disabled by default in OpenStack Compute. Instead it is recommended that the ConfigDrive and metadata server facilities are used to modify guests at launch. To enable file injection modify the inject_key and inject_partition configuration keys in /etc/nova/nova.conf and restart the Compute services. The file injection mechanism is likely to be disabled in a future release.
  • A number of changes have been made to the expected format /etc/nova/nova.conf configuration file with a view to ensuring that all configuration groups in the file use descriptive names. A number of driver specific flags, including those for the Libvirt driver, have also been moved to their own option groups.

알려진 이슈

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

업그레이드 노트

  • Scheduler and weight normalization (https://review.openstack.org/#/c/27160/): In previous releases the Compute and Cells scheduler used raw weights (i.e. the weighers returned any value, and that was the value used by the weighing proccess).
    • If you were using several weighers for Compute:
      • If several weighers were used (in previous releases Nova only shipped one weigher for compute), it is possible that your multipliers were inflated artificially in order to make an important weigher prevail against any other weigher that returned large raw values. You need to check your weighers and take into account that now the maximum and minimum weights for a host will always be 1.0 and 0.0.
    • If you are using cells:
      • nova.cells.weights.mute_child.MuteChild: The weigher returned the value mute_weight_value as the weight assigned to a child that didn't update its capabilities in a while. It can still be used, but will have no effect on the final weight that will be computed by the weighing process, that will be 1.0. If you are using this weigher to mute a child cell you need to adjust the mute_weight_multiplier.
      • nova.cells.weights.weight_offset.WeightOffsetWeigher introduces a new configuration option offset_weight_multiplier. This new option has to be adjusted. In previous releases, the weigher returned the value of the configured offset for each of the cells in the weighing process. While the winner of that process will still be the same, it will get a weight of 1.0. If you were using this weigher and you were relying in its value to make it prevail against any other weighers you need to adjust its multiplier accordingly.
  • 일찍히 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/ - 다음 권장하지 않는 구성 옵션들의 에일리어스들은 favor에서 삭제되었습니다:
    • 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
  • The PowerVM driver has been removed: https://review.openstack.org/#/c/57774/
  • The keystone_authtoken defaults changed in nova.conf: 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 is using oslo.messaging to replace its private notifier code, it's recomended to use a combination of `notification_driver` + `transport_url`. The old configuration 'notifier_strategy' is deprecated though it still works.

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입니다. 그러나 앞으로 더 많은 것들을 지원합니다.

Known Issues

If utilizing multi-domain support in Identity API v3, users will be unable to manage resources in any domain other than the default domain.

업그레이드 노트

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

OpenStack Identity (Keystone)

새로운 주요 기능

  • New v3 API features
    • /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)

Key New Features

  • Ability to change the type of an existing volume (retype)
  • Add volume metadata support to the Cinder Backup Object
  • Implement Multiple API workers
  • Add ability to delete Quota
  • Add ability to import/export backups in to Cinder
  • Added Fibre Channel Zone manager for automated FC zoning during volume attach/detach

New Backend Drivers/Plugins

  • 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

Known Issues

  • Reconnect on failure for multiple servers always connects to first server (Bug: #1261631)
  • Storwize/SVC driver crashes when check volume copy status (Bug: #1304115)
  • Glance API v2 not supported (Bug: #1308594)

Upgrade Notes

  • Force detach API call is now an admin only call and no longer the policy default of admin and owner. Force detach requires clean up work by the admin, in which the admin would not know when an owner did this operation.

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 domain users

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 볼륨 크기 조정
  • Flavor / Cinder Volume resizes
    • Trove 인스턴스에 정의된 flavor에대해서 크기 조정.
    • Datastore에 가장큰 볼륨이 필요하다면, 선택적인 Cinder 볼륨 사이즈 크기 조정
  • Multiple datastore support
  • 다중 datastore 지원
    • MySQL과 Percona의 전체 기능 지원
    • MongoDB, Reis, Cassandra, Couchbase에 대한 실험적 지원 (전체 기능이 아닌)
  • 그룹 구성
    • 신규 혹은 기존 인스턴스에 연결하는 구성 옵션 세트 정의
  • 백업과 복구
    • Executes native backup software on a datastore, and steam the output to a swift container
    • Full and incremental backups
  • Designate를 이용한 선택적 DNS 지원
    • Flag to define whether to provision DNS for an instance

알려진 이슈

아직은 없음...

Upgrade Notes

  • Trove Conductor is a new daemon to proxy database communication from guests. It needs to be installed and running.
  • new Datastores feature requires operators to define (or remove) the datastores your installation will support
  • new Configuration Groups feature allows operators to define a subset of configuration options for a particular datastore

OpenStack Documentation

Key New Features