Jump to: navigation, search

ReleaseNotes/Liberty

Revision as of 06:26, 29 October 2015 by WebberGuo (talk | contribs)
Other languages:
Deutsch • ‎English • ‎日本語 • ‎한국어 • ‎中文(简体)‎ • ‎中文(台灣)‎

OpenStack Liberty更新說明

Contents

OpenStack 物件儲存 (Swift)

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

新功能

  • 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.
  • 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.
  • 可以對靜態大型物件(Static Large Object, SLO)分段指定範圍。
  • Allow SLO PUTs to forgo per-segment integrity checks. Previously, each segment referenced in the manifest also needed the correct etag and bytes setting. These fields now allow the "null" value to skip those particular checks on the given segment.
  • Replicator configurations now support an "rsync_module" value to allow for per-device rsync modules. This setting gives operators the ability to fine-tune replication traffic in a Swift cluster and isolate replication disk IO to a particular device. Please see the docs and sample config files for more information and examples.
  • Ring changes
    • Partition placement no longer uses the port number to place partitions. This improves dispersion in small clusters running one object server per drive, and it does not affect dispersion in clusters running one object server per server.
    • Added ring-builder-analyzer tool to more easily test and analyze a series of ring management operations.
    • Ring validation now warns if a placement partition gets assigned to the same device multiple times. This happens when devices in the ring are unbalanced (e.g. two servers where one server has significantly more available capacity).
  • TempURL fixes (closes CVE-2015-5223)

    Do not allow PUT tempurls to create pointers to other data. Specifically, disallow the creation of DLO object manifests via a PUT tempurl. This prevents discoverability attacks which can use any PUT tempurl to probe for private data by creating a DLO object manifest and then using the PUT tempurl to head the object.

  • Swift now emits StatsD metrics on a per-policy basis.
  • Fixed an issue with Keystone integration where a COPY request to a service account may have succeeded even if a service token was not included in the request.
  • Bulk upload now treats user xattrs on files in the given archive as object metadata on the resulting created objects.
  • Emit warning log in object replicator if "handoffs_first" or "handoff_delete" is set.
  • Enable object replicator's failure count in swift-recon.
  • Added storage policy support to dispersion tools.
  • Support keystone v3 domains in swift-dispersion.
  • Added domain_remap information to the /info endpoint.
  • Added support for a "default_reseller_prefix" in domain_remap middleware config.
  • Allow rsync to use compression via a "rsync_compress" config. If set to true, compression is only enabled for an rsync to a device in a different region. In some cases, this can speed up cross-region replication data transfer.
  • Added time synchronization check in swift-recon (the --time option).
  • The account reaper now runs faster on large accounts.
  • Various other minor bug fixes and improvements.

升級提示

  • Dependency changes
    • Added six requirement. This is part of an ongoing effort to add support for Python 3.
    • Dropped support for Python 2.6.
  • Config changes
    • Recent versions of Python restrict the number of headers allowed in a request to 100. This number may be too low for custom middleware. The new "extra_header_count" config value in swift.conf can be used to increase the number of headers allowed.
    • Renamed "run_pause" setting to "interval" (current configs with run_pause still work). Future versions of Swift may remove the run_pause setting.
  • The versioned writes feature has been refactored and reimplemented as middleware. You should explicitly add the versioned_writes middleware to your proxy pipeline, but do not remove or disable the existing container server config setting ("allow_versions"), if it is currently enabled. The existing container server config setting enables existing containers to continue being versioned. Please see http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster for further upgrade notes.

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服務目錄和使用者。

不推薦的資源屬性

Many resource properties have previously been documented as DEPRECATED. 15 of these properties are now flagged as HIDDEN, which means they will no longer be documented, but existing stacks and templates will continue to work after a heat upgrade. The [ http://docs.openstack.org/developer/heat/template_guide/openstack.html Resource Type Reference] should be consulted to determine available resource properties and attributes.

升級提示

Configuration Changes

Notable changes to the /etc/heat/heat.conf [DEFAULT] section:

  • hidden_stack_tags has been added, and stacks containing these tag names will be hidden from stack-list results (defaults to data-processing-cluster, which hides sahara-created stacks)
  • instance_user was deprecated, and is now removed entirely. 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 still creates "ec2-user"
  • max_resources_per_stack can now be set to -1 to disable enforcement
  • enable_cloud_watch_lite is now false by default as this REST API is deprecated
  • default_software_config_transport has gained the option ZAQAR_MESSAGE
  • default_deployment_signal_transport has gained the option ZAQAR_SIGNAL
  • auth_encryption_key is now documented as requiring exactly 32 characters
  • list_notifier_drivers was deprecated and is now removed
  • policy options have moved to the [oslo_policy] section
  • use_syslog_rfc_format is deprecated and now defaults to true

Notable changes to other sections of heat.conf:

  • [clients_keystone] auth_uri has been added to specify the unversioned keystone url
  • [heat_api] workers now defaults to 4 (was previously 0, which created a worker per host CPU)

The policy file /etc/heat/policy.json can now be configured with per-resource-type access policies, for example:

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

Upgrading from Kilo to Liberty

Progress has been made on supporting live sql migrations, however it is still recommended to bring down the heat service for the duration of the upgrade. Downward SQL schema migrations are no longer supported. A rollback to Kilo will require restoring a snapshot of the pre-upgrade database.

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.

Hardware Drivers

  • 增加硬體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)

New Features

  • Added the ability for project administrators to create certificate authorities per project. Also, project administrators are able to define and manage a set of preferred certificate authorities (CAs) per project. This allows projects to achieve project specific security domains.
  • Barbican now has per project quota support for limiting number of Barbican resources that can be created under a project. By default the quota is set to unlimited and can be overridden in Barbican configuration.
  • Support for a rotating master key which is used for wrapping project level keys. In this lightweight approach, only the project level key (KEK) is re-wrapped with new master key (MKEK). This is currently applicable only for the PKCS11 plug-in. (http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
  • Updated Barbican's root resource to return version information matching Keystone, Nova and Manila format. This is used by keystoneclient's versioned endpoint discovery feature.
  • Removed administrator endpoint as all operations are available on a regular endpoint. No separate endpoint is needed as access restrictions are enforced via Oslo policy.
  • Added configuration for enabling sqlalchemy pool for the management of SQL connections.
  • Added ability to list secrets which are accessible via ACL using GET /v1/secrets?acl-only=true request.
  • Improved functional test coverage around Barbican APIs related to ACL operations, RBAC policy and secrets.
  • Fixed issues around creation of SnakeOil CA plug-in instance.
  • Barbican client CLI can now take a Keystone token for authentication. Earlier only username and password based authentication was supported.
  • Barbican client now has ability to create and list certificate orders.

升級提示

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狀態這個重要的錯誤已經被修正

已棄用的功能

  • The experimental Catalog Index Service has been removed and now is a separate project called Searchlight.
  • The configuration options scrubber_datadir, cleanup_scrubber and cleanup_scrubber_time have been removed following the removal of the file backed queuing for scrubber.

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

新功能

  • 可用區域啟用支援.
  • 新增 administrator API 元件到share instances.
  • Added pool weigher which allows Manila scheduler to place new shares on pools with existing share servers.
  • Support for share migration from one hostpool to another hostpool (experimental).
  • Added shared extend capability in the generic driver.
  • Support for adding consistency groups, which allow snapshots for multiple filesystem shares to created at the same point in time (experimental).
  • Support for consistency groups in the NetApp cDOT driver and generic driver.
  • Support for oversubscription in thin provisioning.
  • New Windows SMB driver:
    • Support for handling Windows service instances and exporting SMB shares.
  • Added new osapi_share_workers configuration option to improve the total throughput of the Manila API service.
  • Added share hooks feature, which allows actions to be performed before and after share drive methods calls, call additional periodic hook for each 'N' tick, and update the results of a driver's action.
  • Improvements to the NetApp cDOT driver:
    • Added variables netapp:dedup, and netapp:compression when creating the flexvol that backs up a new manila share.
    • Added manage/unmanage support and shrink_share support.
    • Support for extended_share API component.
    • Support for netapp-lib PyPI project to communicate with storage arrays.
  • Improvements to the HP 3PAR driver:
    • Added reporting of dedupe, thin provisioning and hp3par_flash_cache capabilities. This allows share types and the CapabilitiesFilter to place shares on hosts with the requested capabilities.
    • Added share server support.
  • Improvements to the Huawei Manila driver:
    • Added support for storage pools, extend_share, manage_existing, shrink_share, read-only share, smartcache and smartpartition.
    • Added reporting of dedupe, thin provisioning and compression capabilities.
  • Added access-level support to the VNX Manila driver.
  • Added support for the Manila HDS HNAS driver.
  • Added GlusterFS native driver.
    • GlusterFS drivers can now specify the list of compatible share layouts.
  • Added microversion support (v2 API).

已棄用的功能

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