Jump to: navigation, search

Difference between revisions of "ReleaseNotes/Liberty/zh-tw"

 
(3 intermediate revisions by 2 users not shown)
Line 16: Line 16:
 
=== 新功能 ===
 
=== 新功能 ===
  
* Allow 1+ object-servers-per-disk deployment enabled by a new > 0 integer config value, "servers_per_port" in the [DEFAULT] config section for object-server and/or replication server configurations. The setting's integer value determines how many different object-server workers handle requests for any single unique local port in the ring. In this mode, the parent swift-object-server process continues to run as the original user (i.e. root if low-port binding is required). It binds to all ports as defined in the ring. It then forks off the specified number of workers per listen socket. The child, per-port servers, drops privileges and behaves pretty much how object-server workers always have with one exception: the ring has unique ports per disk, the object-servers will only handle requests for a single disk. The parent process detects dead servers and restarts them (with the correct listen socket). It starts missing servers when an updated ring file is found with a device on the server with a new port, and kills extraneous servers when their port is no longer found in the ring. The ring files are started at most on the schedule configured in the object-server configuration by every the "ring_check_interval" parameter (same default of 15s). In testing, this deployment configuration (with a value of 3) lowers request latency, improves requests per second, and isolates slow disk IO as compared to the existing "workers" setting. To use this, each device must be added to the ring using a different port.
+
* 透過設定一個大於0的整數,允許一個以上的object-servers-per-disk,在[DEFAULT]中的"servers_per_port"設定,設定object-server或是replication server的設定。這個設定值決定了許多不同的object-server workers處理一個唯一local port 在ring。在這個模式下,父類別swift-object-server處理繼續使用原本使用者去執行(例如:如果需要low-port綁定須使用root帳號)。他綁定所有在ring定義的ports。然後為每一個監聽socket分離出一個指定數量的workers。子類別,每一個port的服務,降低權限並且表現出object-server workers狀態,但有一個例外:ring在每個disk擁有唯一的port, object-server只單獨處理每一個disk請求。父類別偵測到已經掛掉的服務並且重新啟動他們(用正確的監聽socket)。當發現一個更新的ring檔案,新啟動停止的服務,並在服務中仔入一個新的port,並且當在ring找不到的時候,後停用多餘的服務。ring檔案啟動是在每個object-server設定中由"ring_check_interval"參數進行設定(預設為15秒)。在測試的時候,這種部屬配置(預設3秒)降低了請求延遲,改善了每秒的請求,與存在在"workers" 設定比較的話,隔離速度比較慢的disk IO請求。若要使用這個設定,每個device必須要增加到ring並使用不同的port。
  
* The object server includes a "container_update_timeout" setting (with a default of 1 second). This value is the number of seconds that the object server will wait for the container server to update the listing before returning the status of the object PUT operation. Previously, the object server would wait up to 3 seconds for the container server response. The new behavior dramatically lowers object PUT latency when container servers in the cluster are busy (e.g. when the container is very large). Setting the value too low may result in a client PUT'ing an object and not being able to immediately find it in listings. Setting it too high will increase latency for clients when container servers are busy.
+
* object server 包括一個 "container_update_timeout" 設定 (預設設定為1秒)。這個值包含object server服務等待container返回object PUT操作之前更新列表秒數。以前,object server將會等待container server 3秒回應。當叢集container繁忙時新的行為大幅降低了object PUT的延遲(例如:當container非常大的時候)。如果將這個值設定太底可能導致 client PUT'ing一個objcet中無法馬上找到對象。如果設定值太高會增加client延遲當container servers繁忙。
  
 
* 可以對靜態大型物件(Static Large Object, SLO)分段指定範圍。
 
* 可以對靜態大型物件(Static Large Object, SLO)分段指定範圍。
Line 611: Line 611:
 
* 增加支援 CORS middleware.
 
* 增加支援 CORS middleware.
  
==== Hardware Drivers ====
+
==== 硬體驅動程式 ====
  
 
* 增加硬體drivers一個新的BootInterface,which splits functionality out of the DeployInterface.
 
* 增加硬體drivers一個新的BootInterface,which splits functionality out of the DeployInterface.

Latest revision as of 06:39, 30 October 2015

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

OpenStack Liberty更新說明

Contents

OpenStack 物件儲存 (Swift)

完整的版本更新說明請參閱 https://github.com/openstack/swift/blob/master/CHANGELOG

新功能

  • 透過設定一個大於0的整數,允許一個以上的object-servers-per-disk,在[DEFAULT]中的"servers_per_port"設定,設定object-server或是replication server的設定。這個設定值決定了許多不同的object-server workers處理一個唯一local port 在ring。在這個模式下,父類別swift-object-server處理繼續使用原本使用者去執行(例如:如果需要low-port綁定須使用root帳號)。他綁定所有在ring定義的ports。然後為每一個監聽socket分離出一個指定數量的workers。子類別,每一個port的服務,降低權限並且表現出object-server workers狀態,但有一個例外:ring在每個disk擁有唯一的port, object-server只單獨處理每一個disk請求。父類別偵測到已經掛掉的服務並且重新啟動他們(用正確的監聽socket)。當發現一個更新的ring檔案,新啟動停止的服務,並在服務中仔入一個新的port,並且當在ring找不到的時候,後停用多餘的服務。ring檔案啟動是在每個object-server設定中由"ring_check_interval"參數進行設定(預設為15秒)。在測試的時候,這種部屬配置(預設3秒)降低了請求延遲,改善了每秒的請求,與存在在"workers" 設定比較的話,隔離速度比較慢的disk IO請求。若要使用這個設定,每個device必須要增加到ring並使用不同的port。
  • object server 包括一個 "container_update_timeout" 設定 (預設設定為1秒)。這個值包含object server服務等待container返回object PUT操作之前更新列表秒數。以前,object server將會等待container server 3秒回應。當叢集container繁忙時新的行為大幅降低了object PUT的延遲(例如:當container非常大的時候)。如果將這個值設定太底可能導致 client PUT'ing一個objcet中無法馬上找到對象。如果設定值太高會增加client延遲當container servers繁忙。
  • 可以對靜態大型物件(Static Large Object, SLO)分段指定範圍。
  • 允許 SLO PUT 操作放棄預先分段完整性的檢查。之前方式是在 manifest 的每個分段引用,且也需要設定一個正確的 etag 與 bytes。這些欄位現在允許 設定 "null" 直來跳過這些特定的檢查。
  • Replicator設定現在支援"rsync_module" 來允許每個設備rsync模組。此設定可以讓操作人員能夠控制並調整Swift叢集流量並且隔離複製硬碟的IO到指定的設備。情參閱文件檔和設定範例文件的詳細訊息。
  • Ring 的改變
    • Partition 的配置不再使用port號來配置分區。在一個小型叢集運行一個object server提高分散性,並且他不會影響正在執行的object server。
    • 新增 ring-builder-analyzer 工具來簡化測試與分析 ring 管理維護
    • Ring 驗證時如果一個設備被分配到同一區很多次就會跳出警告。這個情況發生在ring不平衡的時候(例如:兩個server其中一個server有多餘的空間大於另外一個)
  • TempURL被修復了(關閉 CVE-2015-5223)

    不要允許 PUT tempurls 建立指向其他資料。具體來說,不允許透過 PUT tempurl 建立 DLO 物件 manifests。這防止發現性攻擊,這種攻擊能夠利用任何的 PUT tempurl 偵測到被 DLO 物件 manifest 建立的私有資料,並且使用 PUT tempurl 指向物件

  • Swift 現在會再每一個策略基礎上發送 StatsD metrics。
  • 修復了一個 Keystone 整合問題,這問題會導致服務帳戶的 COPY 請求能成功,即使這個服務沒有 token 包含在這個請求中。.
  • 批量上傳現在在檔案上處理使用者 xattrs,在處理建立物件時,使用給定的存檔作為物件 metadata。
  • 在物件複製中提交警告 Log,如果 "handoffs_first" 和 "handoff_delete" 有設定
  • 允許在 Swift-recon 開啟物件複製失敗的次數
  • 在分散工具中新增支援儲存策略
  • 在 swift-dispersion 支援了 keystone v3 domains
  • 在 /info endpoint 新增了 domain_remap 資訊
  • 在 domain_remap 中介軟體配置中支援 “default_reseller_prefix”
  • 透過設定 "rsync_compress" 配置,允許 rsync 使用壓縮。如果設定為 true,壓縮僅在不同區域 rsync 時生效。在一些情況下,這能加速跨領域複製時的資料傳輸。
  • 在 swift-recon 中新增時間同步檢查(--time 參數)
  • 一個大型的 accounts 上 account 收割機執行速度加快。
  • 各式各樣的其他小 Bug 修復與優化。

升級提示

  • 相依性改變
    • 新增 six 相依。這部分作為支援 Python 3 的一部分。
    • 捨棄對 Python 2.6 的支援。
  • 配置改變
    • 最近 Python 版本將請求 Headers 的數量限制為 100。對於客制化的中介軟體來說大低了。swift.conf 新的 "extra_header_count" 配置值能夠用來增加 Headers 的數量。
    • 將 "run_pause" 設定為 "interval" (目前配置採用 run_pause 仍可以運作)。未來的版本將移除 run_pause。
  • 版本化的寫入功能已被重構,並且在中介軟體重新實現。需要明確的在 versioned_writes 中介軟體新增你的 proxy pipeline,但是不要去掉或者停用已經存在的Container 服務配置("allow_versions")。這個已經存在的 Container 服務配置開啟保證已經存在的 Container 繼續被版本化。更多詳細的升級資訊請參考:http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster

OpenStack 網路服務 (Neutron)

新功能

  • Neutron現在支援IPv6 Prefix Delegation,來自動分配IPv6子網路的CIDRs,此功能的詳細資訊與使用配置請參考 OpenStack Networking Guide.
  • Neutron現在公開了QoS API,而初步提供的頻寬為port level,API, CLI, 配置和其他訊息請參閱: [1].
  • 路由的高可靠(L3 HA/VRRP)現在在第二層population(l2pop)被啟動時工作。 [2].
  • VPNaaS相關驅動現在和HA路由器相容。
  • Networks的HA路由器使用VRRP traffic 現在需要配置使用特定區段類型或實體網路標籤。 [3].
  • OVS agent重新啟動不會影響資料層連接。
  • Neutron網路現在支援role base access control。 [4].
  • LBaaS V2 相關驅動現在是基於Octavia,一個operator級別的擴展、可靠的負載平衡平台。
  • LBaaS V2 API 目前已經穩定,不再是試驗版本。
  • Neutron現在提供admin手動調度agents,讓tenant使用之前使主機資源被測試。 [5].
  • Neutron現在有一套pluggable IP的管理工具,可以選擇是否使用或第三方IPAM。當初,預設使用IPAM non-pluggable版本。

已棄用和移除的Plugin和Driver

  • metaplugin在Liberty版本中被刪除。
  • IBM SDN-VE monolithic plugin在Liberty版本中被刪除。
  • Cisco N1kV monolithic plugin在Liberty版本中被刪除 (由ML2 mechanism driver取而代之)。
  • Embrane plugin被棄用,將在下一個版本Mitaka中刪除。

已棄用的功能

  • Liberty中FWaaS API被標記為試驗版本,此外,目前的API將會在下一個版本Mitaka被移除,且相關團隊已經在開發新的FWaaS API來取代。
  • LBaaS V1 API已被標記為捨棄,並計畫在將來的版本中刪除。往後則應使用LBaaS V2 API。
  • L3 agent 中的'external_network_bridge'選項已被棄用,支援pyhsnet的bridge_mapping。更多訊息請參考network guide中"Network Node"小節的場景 : http://docs.openstack.org/networking-guide/scenario_legacy_ovs.html

影響效能的因素

  • 舊版本的Trusty Tahr kernel (3.13) 在命名空間增加執行"ip netns exec"效能會出現的線性下樣。 在這樣的情況下可擴展性是很重要的,應該使用之後的kernel版本 (例如 3.19) 。 [在版本 3.13 出現的問題,大多數版本已經被修復了。]


注意: 這個問題應該在Trusty Thar 3.13.0-36.63以及之後的版本被修復。更多訊息請參閱: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328088

使用Octavia驅動程式,建立Neutron-LBaaS負載平衡時,不使用硬體虛擬化將會導致效能低下,這是因為環境中QEMU使用TCG加速套件替代KVM加速套件而沒有使用KVM可用的硬體虛擬化。我們建議開啟運算節點的硬體虛擬化,或在使用Octavia驅動程式時使用巢狀虛擬化來代替虛擬環境。 以下連結查看在DevStack中如何設定巢狀虛擬化來代替KVM:http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html

OpenStack 運算服務 (Nova)

新功能

API

Scheduler

在Scheduler架構演變扔在持續中,以及關鍵的bug修復:

Cells v2

Cells v2 目前還是處於不能用的狀態, 但我們增加了一些配套基礎設施:

Compute Driver 功能

Libvirt
VMware
Hyper-V
Ironic

其他功能

升級提示

  • 如果你是從Kilo版本來的,再升級到Liberty之前請先升級到最新版本。由於bug https://bugs.launchpad.net/nova/+bug/1474074 修正從Kilo版本訪問Liberty節版本節點問題
  • RAM 和 CPU分配比率現在是由nova-compute所定義的(所以每個compute節點)。分配率也需要提供scheduler服務。取決於compute節點是否運行 Kilo 或是 Liberty,分配比率表現不同 : 如果compute節點運行Kilo該compute的節點CPU and RAM預設設定將會是在controller的nova.conf上,或是compute節點是Liberty那麼你就可以配置compute分配率為CPU and RAM。為了給操作者提供的分配率所有compute節點,預設分配比勒將是在nova.conf設定為0.0(即使對於controller)。這並不代表分配率實際上是0.0,指示操作者提供那些在下一個版本之前 (例如 Mitaka)。需要了解的是,預設配置扔然是16.0為cpu_allocation_ratio 和 1.5為ram_allocation_ratio。
  • 升級Neutron服務"network-vif-deleted"之前nova-compute應該升級到Liberty版本事件event: https://review.openstack.org/#/c/187871/
  • Rootwrap過濾必須升級之後版本加入 'touch'指令。
    • 在Launchpad中bug提到 imagebackend 和 imagecache之間的條件競爭 1256838.
    • 在這情況下如果base image被 ImageCacheManager刪除當 imagebackend的image複製到instance路徑,那麼instance會出現錯誤狀態
    • 為了解決這個問題,有必要改變並增加在compute.filters 'touch'指令 https://review.openstack.org/#/c/217579/.
    • 在案例競爭條件,當libvirt已經改變基本文件所有權 libvirt-qemu同時imagebackend被複製image,然後我們使用os.utime更新檔案時發生拒絕錯誤。要解決這個錯誤我們需要使用root使用者權限去更新存取'touch'指令。
  • DiskFilter現在是由部分 scheduler_default_filters 在Liberty https://review.openstack.org/#/c/207942/
  • 現在只能對應一個vCenter 叢集到一個nova-compute節點 https://review.openstack.org/#/c/103916/
  • Libvirt driver parallels 已經更名為 virtuozzo
  • Orphaned tables - iscsi_targets, volumes - 已經被刪除
  • 預設paste.ini已經被所有節點更新使用v2.1 API,而v3 節點已經被移除。相容模式middlewear是用來放寬v2.1對/v2 和 /v1.1驗證
  • 對於DB模式降階代碼已經被刪除 : https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration
  • 預設DB driver我們目前測試是在pymysql 而不是Python-MySQL
  • "powervm" hv_type shim 已經被移除。這只會影響PowerVC driver on stackforge哪個使用舊的images與with hv_type=powervm在image metadata
  • libvirt在Mitaka最低需求版本將會是0.10.2。libvirt本本 < 0.10.2將不再 Liberty使用: https://review.openstack.org/#/c/183220/
  • libvirt.remove_unused_kernels設定選項已經廢除,現在預設為True: https://review.openstack.org/#/c/182315/

已棄用的功能

  • 在禁用tree API擴展的能力已經被棄用 (https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions)
  • 從 2.21.0開始novaclient.v1_1 模組已經被棄用 [[6]][[7]] 我們將會在第一個Mitaka版本釋出移除python-novaclient Mitaka.
  • 從2.29.0開始方法`novaclient.client.get_client_class` 已經過時 [[8]] 該方法將在Mitaka版本刪除。
  • weighers上使用mute_weight_value已經被否決, 包括使用Cells。
  • '在Libvirt driver上使用remove_unused_kernels 已經不被使用.
  • 目前使用的vcenter driver最小版本為5.1.0,在 Liberty版本會跳出警告訊息,在Mitaka版本低於5.1.0將會被刪除不使用
  • API v3 將會不再使用,並在paste.ini中刪除

OpenStack 計量服務 (Ceilometer)

關鍵的新功能

  • 創建Aodh來處理警報功能。
  • Metadata caching - 減少nova API輪詢(polling)的負載。
  • meters的聲明
    • 能夠根據定義meter樣板來產生meters。
    • 能夠輪詢(poll)特別定義的SNMP。
  • 支援資料從Ceilometer發佈至Gnocchi。
  • 強制limit - limit強制查詢執行。limit必須明確地提供給查詢,否則結果強制設為默認limit。
  • 分散, 協調notification agents - 支援工作負載分割跨多個notification agents。
  • Events RBAC 支援。
  • PowerVM hypervisor 支援。
  • 改善MongoDB查詢支援 - 改善statistic calculations.。
  • 其他meter支援 :
    • Magnum meters
    • DBaaS meters
    • DNSaaS meters

Gnocchi功能

  • 實現第一個版本的influxdb driver。

Aodh功能

  • 事件警報 - 當接收到事件能夠觸發一個動作。
  • 警報的信任支持 link.

升級提示

  • ceilometer使用的一些middleware名字改變採用向後不相容的方式。 再升級之前, 編輯 paste.ini 檔案,修改 oslo.middlewareoslo_middleware. 例如:使用 sed -ri 's/oslo\.middleware/oslo_middleware/' api_paste.ini
  • Ceilometer中notification agent是收集資料的核心服務,它處理所有的transformations和publishing。 Polling agents現在延緩所有processing到notification agents,且必須部署為tandem。
  • 強制limit添加到每個請求中,如果沒有limit,將會被強制視為預設limit。

已棄用的功能

  • 不推薦使用Ceilometer Alarms,支持使用Aodh。
  • 不推薦使用RPC publisher和collector,支持使用topic based notifier publisher。
  • 依然不推薦使用Non-metric meters,且在未來版本將被移除。

OpenStack 身份驗證服務 (Keystone)

新功能

  • 實驗性: Domain 特定設定選項可以儲存在SQL代替設定文件, 使用新的REST APIs.
  • 實驗性: Keystone 現在支援不用 token授權, 使用 X.509 SSL 使用者驗證.
  • 現在支援per-Identity配置WebSSO.
  • openstack_user_domainopenstack_project_domain 屬性增加到SAML判定,用來分別對應用戶與project domains
  • credentials 列表的調用現在能夠使用credential 類型進行過濾.
  • 支持優化out-of-tree drivers 定義穩定Driver Interfaces.
  • 一些功能進行了加強,包括Fernet tokens, Federation, 從資料庫指定domain和角色分配
  • keystone.conf現在有了新的選項,用來判定使用者設定是不是有效的

升級提示

  • EC2 token middleware, 在Juno版本已經捨棄, keystone已經不存在. 已經完全被移到keystonemiddleware package中.
  • compute_port configuration 選項, 在Juno版本中已經不使用,已經不存在.
  • XML middleware 已經完全被刪除, 所以相關配置也從 keystone-paste.ini 設定檔中刪除.
  • stats_monitoring 和 stats_reporting 中的篩選器已經被刪除,所以相關配置檔案也從 keystone-paste.ini 移除.
  • 而外認證的plugin ExternalDefault, ExternalDomain, LegacyDefaultDomain, 與 LegacyDomain, 在Icehouse版本中已經不再使用.
  • keystone.conf 現在為drivers關係入口.例如, drivers現在被定義成 "sql", "ldap", "uuid", 而不是一個完整的路徑.查看設定檔案中的範例
  • 我們現在為keystone-manage 公開entrypoints指令取代文件.
  • 聽過架構keystone-manage db_sync 降級已經不再支援. 僅支援升級.
  • 之前版本增加的"extensions"功能 (OAuth delegation, Federated Identity support, Endpoint Policy, etc) 目前預設都是開啟.
  • 一個新的secure_proxy_ssl_header 設定選項,用於keystone運行在proxy之後的情形.
  • 一些設定選項已經不再使用,重新命名或是移動到新的地方在keystone.conf文件.
  • Domain name 資訊現在可以在策略規則與屬性domain_name.

已棄用的功能

  • 在Eventlet運行Keystone 依然不建議使用,將Mitaka版本中刪除.
  • 使用LDAP 做為後端的資源, 例如projects 和 domains, 目前已經不再使用,在Mitaka版本將刪除.
  • 使用完整路徑driver已經不建議使用,使用entrypoint的方式。在Mitaka版本,entrypoint 必須被使用.
  • keystone.conf中[resource] 和 [role]不建議使用指定driver或是不指定driver.在Mitaka版本釋出 resource 和 role drivers預設會使用SQL driver.
  • keystone-paste.ini, 使用paste.filter_factory 不建議使用,因為"use" 指令,指定entrypoint.
  • 不指定domain新增user、group和project,在有問題的情況下他會回到預設的domain,目前不建議使用,並且在N版本終將會刪除.
  • 分配管理不建議使用的方式已經刪除,使用 [resource] 和 [role]相同的方式管理

OpenStack 區塊儲存 (Cinder)

新功能

  • 通用的映像檔快取解決方案,常用的 VM 映像檔都能被快取起來,且以 copy-on-write 方式到一個新的 Volume 獲取更多的資訊
  • 無中斷的備份 獲取更多的資訊.
  • 能夠對一致性 Volume的群組進行 clone 獲取更多的資訊
  • 獲取 Volume 儲存後端的列表 (取得 extra-specs).
  • 嵌套的配額
  • 預設的 LVM 後端採用 thin-provisioned
  • 修復 cinder service-list,當驅動程式載入失敗時會顯示為 Down
  • 優化 volume 移轉管理:
    • 能夠查看之前嘗試的移轉是否成功
    • 管理人員可以透過 cinder list 查看移轉狀態
    • 新的 Volume 狀態"維護狀態",保證當移轉進行時,會阻止任何操作行為
    • 優化 Volumes 的 name/id,在移轉完成後的一致性

升級提示

  • 對於 RPC API 的參數變化和在物件化轉化導致無法使用 Liberty c-vol 和 c-api 服務相容 Kilo 或者更早的版本的相關服務

已棄用的功能

  • 已移除 Simple 和 Chance 兩種 Schedulers
  • 已移除棄用的 HDS HUS iSCSI 驅動程式
  • 已移除 Coraid 驅動程式
  • 已移除 Solaris iSCSI 驅動程式
  • 已移除 --force 選項,該選項用於允許上傳映像檔到已經附加的 Volume
  • 將 v1 API 標示為已棄用

OpenStack 編配服務 (Heat)

新功能

Convergence

Convergence是一個新的編配引擎,在Heat中日趨成熟。在Liberty中,使用Convergence的好處為:

  • 更好的資源平行處理 (為了更好的大型templates擴展)
  • 能夠在已經執行更新操作過程中執行stack-update。
  • 更好的處理heat-engine的錯誤 (仍然WIP)

convergence engine可以透過設置 /etc/heat/heat/conf [DEFAULT]中的 convergence_engine=true,設定完成需重新啟動heat-engine。 完成之後,之後創建的stack將會使用convergence engine,而操作之前已存在的stack仍然會使用傳統引擎。

Convergence並經過產品的測試,因此應該視為beta版本,小心使用。 在Liberty版本中,如果你的目的是評估或擴展測試,我們建議可以啟用convergence。我們考慮在下一個版本Mitaka中將convergence設為預設引擎。 Convergence相關的bugs追蹤在以下launchpadconvergence-bugs tag.

有條件的資源公開

只有在雲端服務中安裝使用者才能使用。 維運人員可以透過標準的政策(policy)規則進一步來控制使用者的使用,請參考 policy.json on per-resource type basis.

heat_template_version: 2015-10-15

2015-10-15 表示YAML文件是HOT template並且包含了到Liberty之前新增或刪除的功能。

  • 移除Fn::Select 功能 (path based get_attr/get_param references should be used instead).
  • 如果get_attr沒有指定<attribute name>, 所有屬性會以的字典格式回傳, 例如:{ get_attr: [<resource name>]}。
  • 增加新的str_split內部函式。
  • 加入支援傳送多list到已存在的list_join函式。
  • 加入支援解析map/list資料到 str_replacelist_join (它們會自動進行json serialized)

REST API/heatclient 新增

  • Stacks現在可以分配一組tag,且stack-list可以透過這些tag來過濾與排序。
  • "heat stack-preview ..."將會回傳已提出stack-update先前的改變。
  • "heat template-validate --show-nested ..." 將會驗證所有的template資源且回傳有用的nested data來建立使用者介面。
  • "heat resource-type-template --template-type hot ..."產生HOT format的樣板(template)。
  • "heat resource-type-list"只顯示可用的類型給使用者,且可透過name、version、support_status來過濾結果。
  • "heat template-version-list"列出template版本。
  • "heat template-function-list ..."列出template版本可用的功能。

加強現有資源

新資源

以下為Heat發佈的新資源:

[1] 這些已存在Kilo的contrib資源因為它們不是非整合專案。這些資源為隨著Heat發佈,且為Big Tent專案。

[2] 這些已存在Kilo的contrib資源因為這些使用者需要管理者。它們隨著Heat的發佈。 維運人員現在能夠透過修改policy.json來隱藏沒有權限的使用者(僅供參考:OS::Nova::Flavor對於非管理的使用者預設隱藏)。

[3] 這些已存在Kilo的contrib資源它們使用的方法不被Heat專案認同。它們現在隨著Heat的發佈且標記不支援(UNSUPPORTED)。

[4] 這些資源還不是OpenStack Big Tene專案,因此標記不支援(UNSUPPORTED)。

使用新的OS::Keystone::*資源,現在能使雲端維運人員來使用Heat templates管理Keystone服務目錄和使用者。

不推薦的資源屬性

許多資源屬性先前已被標記為DEPRECATED, 其中有15個屬性現在標記為隱藏(HIDDEN), 這代表它們將不再被記錄, 但是已存在的stacks和templates在Heat升級之後繼續運做。 資源類型參考 應需要討論來決定可用資源特性和屬性。

升級提示

配置檔案改變

/etc/heat/heat.conf [DEFAULT] 中明顯的改變:

  • hidden_stack_tags已經被新增,且stack包含這些標籤名字將會從stack-list結果中被隱藏(預設為data-processing-cluster,其中隱藏sahara-created stacks)
  • instance_user將被棄用,且已經完全移除。 Nova servers created with OS::Nova::Server resource will now boot configured with the default user set up with the cloud image. AWS::EC2::Instance仍然創建"ec2-user"。
  • max_resources_per_stack現在可以設為-1來禁止執行。
  • enable_cloud_watch_lite預設為flase,因為這個REST API已被棄用。
  • default_software_config_transport新增新選項ZAQAR_MESSAGE。
  • default_deployment_signal_transport新增新選項ZAQAR_SIGNAL。
  • auth_encryption_key現在記錄要求精確地32個字。
  • list_notifier_drivers 已被棄用且現在已被移除。
  • policy options被移動至[oslo_policy]中。
  • use_syslog_rfc_format已被移除,現在預設為true。

heat.conf中其他明顯的改變:

  • [clients_keystone] auth_uri已經被新增到特定的unversioned keystone url。
  • [heat_api] workers現在預設為4(之前為0,為每一個主機CPU創見一個worker)

policy檔案 /etc/heat/policy.json 現在能夠為每一種資源類型單獨配置訪問策略(policy),例如:

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

從Kilo升級至Liberty

目前正在進行支援即時sql遷移, 但是仍然建議在升級的過程中暫停Heat服務。 向下SQL schema遷移不再支援。 rollback至Kilo需要恢復預升級資料庫的快照。

OpenStack 資料處理服務 (Sahara)

新功能

  • 新插件與版本:
    • Ambari 插件支援 HDP 2.2 / 2.3
    • 新增 Apache Hadoop 2.7.1, Apache Hadoop 2.6.0 已棄用
    • 新增 CDH 5.4.0, 並支援 NameNode 與 ResourceManager 的 HA
    • 新增 MapR 5.0.0
    • 新增 Spark 1.3.1, Spark 1.0.0 已棄用
    • HDP 1.3.2 與 Apache Hadoop 1.2.1 被移除了
  • 新增支援 Spark EDP jobs 結合 Swift 使用
  • CDH 與 Ambari 插件支援 Spark EDP jobs
  • 支援 public 與 protected 資源
  • 已開始整合 OpenStack Client
  • 支援編輯所有的 Sahara 資源
  • 支援叢集的自動 Hadoop 配置
  • 已棄用直接提供的引擎,並且在 Mitaka 版本將被移除
  • 對 job binaries和資料來源新增 OpenStack Manila NFS 共享作為儲存後端選項
  • 支援對 EDP job 的板模定義和使用介面配置

已棄用的功能

  • 直接提供的引擎(Direct provisioning engine)
  • Apache Hadoop 2.6.0
  • Spark 1.0.0
  • 所有 Hadoop 1.X 版本已移除

OpenStack Search (Searchlight)

這是第一個Searchlight版本. Searchlight的目的是大幅提高通過請求使用者搜索查詢的功能和各種OpenStack 雲的服務性能. 它提供了跨OpenStack的服務Keystone RBAC 基於搜索通過檢驗自己的數據到ElasticSearch並提供一個安全層面對輸入搜索查詢.ElasticSearch是基於Lucene搜索服務.他提供了一個distributed, scalable, near real-time, faceted, multitenant-capable, and full-text 的一個RESTful web 引擎介面

新功能

新的資源類型索引

升級提示

N/A

已棄用的功能

N/A

OpenStack DNS管理服務 (Designate)

新功能

  • 實驗的: Hook Point API
  • Horizon Plugin 移除 tree
  • Purging 刪除 domains
  • Ceilometer "exists" 每個周期事件 domain
  • ASync actions
    • Import
    • Export
  • Active /passive 對於designate-pool-manager 週期性任務故障轉移
  • OpenStack 用戶端集合

其他的 DNS 伺服器後端

  • InfoBlox
  • Designate

升級提示

  • 新的服務designate-zone-manager
    • 建議使用 tooz 支援後台.
    • 建議ZooKeeper ,或是任何tooz支援.
    • 如果tooz 後台不能使用, 所有zone-managers 將承擔所有區域的擁有權,而且在每個小時會有 'n' "exists" ,其中 'n' 是 zone-manager的處理次數
  • designate-pool-manager 可以做 active/passive 故障轉移的週期性任務.
    • 建議使用支援 tooz 後台.
    • 如果不使用tooz 當作後台, 所有pool-managers 將承擔pool的所有權, 和多個週期性任務將運行。 這可能導致無法預期的結果.

已棄用的功能

  • V1 API
    • 目標初步通知, 因為有操作扔然需要Designate CLI interface 其中 talks to V1, 和 Horizon panels 只有talk to V1.

OpenStack 訊息佇列服務 (Zaqar)

新功能

  • Pre-signed URL - 一個新的REST API 端點支援 pre-signed URL, 他提供足夠的控制權限被源共享, 不影響安全性.
  • Email Notification - 一個新的通知服務任務driver, 這可能需要一個 Zaqar 用戶的電子郵件位址。當有新的訊息發佈到queue,使用者將通過電子郵件收到訊息
  • Policy Support - 支援 fine-grained 權限控制與 policy.json 文件向大多數的其他OpenStack組件.
  • Persistent Transport - 增加了對websocket支援,對Zaqar一個持久傳輸的代替。現在使用者可以建立long-lived連接之間他們應用程式和Zaqar相互交換大量數據,而不是連接建立增加消耗。

OpenStack 儀表板服務 (Horizon)

新功能

  • 新的網路拓樸圖 - 網路拓樸圖已替換為互動式圖形包含可折疊網路(collapsible networks),且 scales 在大規模的部署做的更好
  • 插件的改善 - Horizon 能自動偵測到被列入的JavaScript 檔案,且現在有機制能將可插拔的 SCSS 與 Django 模板進行覆寫。

升級提示

OpenStack 資料庫即服務 (Trove)

新功能

  • Redis
    • Redis 的組態群組
    • 支援叢集
  • MongoDB
    • 單一實例的備份與恢復
    • 使用者與資料庫管理
    • 組態群組 (Configuration Groups)
  • Percona XtraDB 叢集伺服器
    • 支援叢集
  • 允許部署人員分配實例的規格於特定資料儲存
  • Horizon 支援資料庫叢集
  • 資料儲存(datastore)與版本管理 API
  • 能在一個 admin tenant 中部署 Trove 實例, 這樣實例就可以對使用者隱藏

OpenStack 裸機服務(Ironic)

Ironic 已經切換到 intermediate release model 並在Liberty版本期間發行4.0版。4.2版本形式是基於OpenStack整合Liberty版本並獲得穩定更新。

請參閱完整版本發行說明: http://docs.openstack.org/developer/ironic/releasenotes/index.html

新功能

  • 增加 "ENROLL" 硬體狀態,這是預設的狀態對於新創建的節點。
  • 增加 "abort",當使用者正在進行時,允許使用者中斷一些操作。
  • 在REST API改進查詢跟過濾的支援。
  • 增加支援 CORS middleware.

硬體驅動程式

  • 增加硬體drivers一個新的BootInterface,which splits functionality out of the DeployInterface.
  • iLO 虛擬介面drivers可以不用Swift運作.
  • 新增Cisco IMC driver.
  • 新增OCS Driver.
  • 新增UCS Driver.
  • 新增Wake-On-Lan Power Driver.
  • ipmitool driver 支援 IPMI v1.5.
  • 增加支援 SNMP driver for “APC MasterSwitchPlus” series PDU’s.
  • pxe_ilo driver 現在支援 UEFI Secure Boot (previous releases of theiLO driver only supported this for agent_ilo and iscsi_ilo).
  • 新增 Virtual Media support to iRMC Driver.
  • 新增 BIOS configuration to DRAC Driver.
  • PXE drivers now support GRUB2.

已棄用的功能

  • "vendor_passthru" 和 "driver_vendor_passthru" DriverInterface的方法已經被刪除。這些在Kilo版本已經過時並且被@passthru decorator取代。
  • 遷移工具從Nova "baremetal"部署導入數據已經被移除
  • 捨棄 "parallel" 選項以週期性任務decorator.
  • 刪除過時 ‘admin_api’ 策略規則.
  • 原始"bash"部屬ramdisk支援已經被棄用並會在兩個周期刪除。 ironic-python-agent專案應被用於所有部屬drivers

升級提示

  • 新創建的節點預設為新ENROLL狀態. 在之前, 節點預設為AVAILABLE, 這可能導致硬體提早出現在Nova.
  • 在Kilo版本增加API headers,意味著希望與Liberty API 進行互動的任何用戶端必須通過每個HTTP請求相應版本的字串。目前API版本為1.14

OpenStack 金鑰管理服務 (Barbican)

新功能

  • 新增專案管理員能力去創建每個專案憑證授權。此外, 專案管理員能夠定義和管理每一個專案優先憑證配發機構(CAs)。讓允許專案實現特定安全性domains
  • Barbican現在有每個專案支援額度限制,可以一個專案下創建Barbican資源數量。在默認的情況下quota設定為沒有限制可以在Barbican更改設定。
  • 支援其使用於包含專案級別 keys的輪轉主要key。在這種輕量級的方法,只有專案級別key (KEK) 是re-wrapped 新的主要的key (MKEK)。目前只適用於 PKCS11 plug-in 。(http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
  • 更新Barbican's root資源返回版本訊息符合Keystone, Nova 和 Manila 格式。這是使用keystoneclient's的版本端點查詢功能。
  • 移除管理員對任何一端點的所有操作。不需要單獨終端訪問權限是透過Oslo進行管理.
  • 新增對啟用sqlalchemy pool連接SQL管理配置。
  • 新增功能列出secrets,透過使用GET /v1/secrets?acl-only=true 訪問ACL。
  • 改進功能測試覆蓋率,圍繞著有關ACL操作Barbican APIs,RBAC政策和secret
  • 修復創建SnakeOil CA plug-in instance問題
  • Barbican client CLI 現在可以採取Keystone token認證。支援在以前唯一的使用者名稱和密碼認證
  • Barbican client 現在有能裡創建和列表憑證命令

升級提示

OpenStack 映像檔服務 (Glance)

更新的專案指南,包括細節的操作、安裝、配置、開發與使用的文件在:http://docs.openstack.org/developer/glance/

新功能

升級提示

  • python-glanceclien現在預設使用Glance API v2 如果 v2 不可以使用, 將會使用 v1.
  • 後端儲存的依賴現在可以選擇安裝對應規定的儲存
  • 有一些儲存像是swift, s3, vmware 現在已經支援python 3.
  • 一些新的以及更新的預設metadata定義附帶source code.
  • 更多的python 3 支援增加到 Glance API, 現在持續支援測試確保相容性
  • utf-8 現在已經是後台MySQL DB的預設charset .
  • 遷移腳本已經被更新並月來進行晚整性檢查的charset
  • 'ram_disk' 和 'kernel' 特性現在在架構中為null而且'id'對v2 API現在只是已讀.
  • 一個設定選項client_socket_timeout已經被新增到最近的eventlet socket逾時設定.
  • 一個設定選項 scrub_pool_size 已經被新增到scrubber同時線程預設為1
  • 允許使用Glance v1 API 來改變image狀態這個重要的錯誤已經被修正

已棄用的功能

  • 實驗性的Catalog Index服務已經被刪除,現在為一個新的專案叫做Searchlight.
  • 設定選項 scrubber_datadir, cleanup_scrubbercleanup_scrubber_time已經從被刪除,被刪除的還有scrubber文件後台陣列

OpenStack 共享式檔案系統服務 (Manila)

新功能

  • 可用區域啟用支援.
  • 新增 administrator API 元件到share instances.
  • 增加pool weigher來允許Manila scheduler在資源池中使用現有的share servers來提供新的共享。
  • 支援共享遷移從hostpool到另一個hostpool (試驗階段)。
  • 在共通的driver中新增共享擴展能力。
  • 支援新增consistency groups,允許建立多個filesystem,且在同一時間共享快照 (試驗階段)。
  • 支援NetApp cDOT driver和通用驅動程式的一致性群組。
  • 支援精簡配置的oversubscription。
  • 新的Windows SMB driver:
    • 支援處理Windows服務instance和輸出SMB共享。
  • 增加新的osapi_share_workers配置選項來改善Manila API service總體的吞吐量(throughput)。
  • 新增share hooks功能,允許共享驅動程式方法呼叫之後或動作執行之前,每N次呼叫額外的hook更新驅動動作的結果。
  • 改善NetApp cDOT driver:
    • 新增變數netapp:dedup和netapp:compression當建立flexvol,備份一個新的manila share。
    • 新增manage/unmanage 支援和shrink_share支援。
    • 支援extended_shareAPI元件。
    • 支援netapp-lib PyPI project讓儲存陣列溝通。
  • 改善HP 3PAR driver:
    • 新增dedupe, thin provisioning和hp3par_flash_cache的容量報告。這樣允許共享類型和CapabilitiesFilter根據請求的容量在主機分配共享。
    • 新增分享伺服器支援。
  • 改善Huawei Manila driver:
    • 新增支援儲存池、extend_share、manage_existing、shrink_share、read-only share、smartcache以及smartpartition。
    • 新增重複刪除(dedupe)的報告,簡化配置和壓縮能力。
  • 新增access-level來支援VNX Manila driver。
  • 新增支援Manila HDS HNAS driver。
  • 新增GlusterFS native driver。
    • GlusterFS drivers現在可以列出指定相容share layouts。
  • 新增microversion支援 (v2 API)。

已棄用的功能

  • share_reset_status API 元件已棄用,並 被取代為 share_instance_reset_status.