不兼容的变更

尽管我们尽了最大努力,OpenStackClient 团队有时可能会引入向后不兼容的变更。为了方便用户,我们将跟踪所有此类变更(从 1.0.0 版本开始)。

如果命令的位置参数需要更改,OpenStackClient 团队会尝试使过渡尽可能无痛。请注意弃用警告,这些警告指示了新的命令(或选项)的使用方法。

根据 命令 Beta 标记为 beta 版本的命令,不适用此不兼容变更处理。

不兼容的变更

4.0 版本

  1. 移除 ip fixed add|remove 命令。

    使用 server add|remove fixed ip 命令代替。

  2. 移除 ip floating add|remove 命令。

    使用 server add|remove floating ip 命令代替。

  3. 移除 service create 选项 --type。服务类型是位置参数。

  4. 移除 role list 选项 --project--user

    使用 role assignment list 选项 --project--user 代替。

  5. 移除 user role list 命令。

    使用 role assignment list 选项 --project--user 代替。

  6. 移除 image create|set 选项 --owner

    使用 --project 选项代替。

  7. 移除 port create|set 选项 --device-id--host-id

    使用 --device--host 代替。

  8. 移除 router set 选项 --clear-routes

    使用 no-route 选项代替。

  9. 移除 security group rule create 选项 --src-ip--src-group

    使用 --remote-ip--remote-group 选项代替。

  10. 移除 backup 命令。

    使用 volume backup 命令代替。

  11. 移除 snapshot 命令。使用 volume snapshot 命令代替。

  12. 移除 volume create 选项 --project--user--multi-attach

  13. volume transfer request accept 更改为使用新的选项 --auth-key,而不是第二个位置参数。

  14. 移除 ‘Token/Endpoint’ 身份验证插件支持(类型 token_endpoint)。

    这仍然是为了兼容 admin_token 身份验证类型,以支持 --url 全局选项。该选项现在也已移除,请使用 --endpoint 代替。

3.12 版本

  1. 将卷列表中的 Display Name 替换为 Name

    volume list 输出中的列名 Display Name 更改为 Name。当前的 volume list --name 命令使用 display_name 作为 search_opts 发送到 cinder API,并使用 Display Name 作为列标题显示结果表。将所有 Display Name 替换为 Name,以与其他列表命令保持一致。

    支持卷列表 -c Display Name(Volume v1 和 v2)和卷创建/显示 -c display_name(Volume v1)的映射,以保持向后兼容性,直到下一个主要版本发布。

3.10 版本

  1. 当与 nova-network 云一起使用时,network create 命令现在需要 --subnet 选项。

  2. volume snapshot create 命令的位置参数 <snapshot-name> 不再是可选的。

    此前,如果存在 --volume 选项,<snapshot-name> 默认为 --volume 的值。现在,如果不存在 --volume 选项,则默认为 <snapshot-name> 的值。

3.0 版本

  1. 移除 osc_password 身份验证插件。

    这是针对旧 Keystone 配置的 ‘最后的手段’ 默认插件,用于 admin_endpointpublic_endpoint

3.0 之前的版本

  1. 重命名命令 openstack project usage list

    命令中的 project 部分没有意义。

  2. type 对于命令 openstack service create 不应是可选的

    此前,命令是 openstack service create <name> –type <type>,现在是:openstack service create <type> –name <name>。此错误也影响了 python-keystoneclient 和 keystone。

  3. 命令 openstack security group rule delete 现在需要规则 ID

    此前,命令是 openstack security group rule delete –proto <proto> [–src-ip <ip-address> –dst-port <port-range>] <group>,现在是:openstack security group rule delete <rule>

  4. 命令 openstack image create 不会更新已存在的镜像

    此前,image create 命令会更新已存在的镜像(如果它们具有相同的名称)。这禁用了创建具有相同名称的多个镜像的可能性,并可能导致对现有镜像的意外更新。现在,更新代码已移动到 set 操作。

  5. 命令 openstack network list –dhcp 已移除

    network list 的 –dhcp 选项不是列出网络的逻辑用例,它列出的是代理。未来应添加另一个命令来提供此功能。我们不太可能有人使用此功能,因为我们不支持任何其他代理命令。请使用 neutron dhcp-agent-list-hosting-net 命令代替。

  6. 默认 API 版本的插件接口更改

    此前,默认版本是在解析的参数中设置的,但这使得无法确定在命令行中传递、设置在环境变量中还是只是默认值。现在,模块应具有包含该值的 DEFAULT_API_VERSION,并在命令行参数、环境变量和 OCC 文件处理之后设置它。

  7. image set 命令将不再返回修改后的资源

    此前,修改镜像会导致向用户显示新的镜像。为了与其他的 set 命令保持一致,我们将不再显示修改后的资源。

    • 推荐使用:使用 set 然后 show

    • 生效于:NA

    • 移除于:NA

    • Bug:NA

    • 提交:NA

  8. region 命令不再支持 url

    Keystone 团队移除了客户端和服务器端对 url 属性的支持。region 的 create、set 和 list 命令受到了影响。

  9. flavor set/unset 命令将不再返回修改后的资源

    此前,修改 flavor 会导致新的 flavor 显示给用户。为了与其他 set/unset 命令保持一致,我们将不再显示修改后的资源。

  10. security group set 命令将不再返回修改后的资源

    此前,修改 security group 会导致新的 security group 显示给用户。为了与其他 set 命令保持一致,我们将不再显示修改后的资源。

  11. compute agent set 命令将不再返回修改后的资源

    此前,修改 agent 会导致新的 agent 显示给用户。为了与其他 set 命令保持一致,我们将不再显示修改后的资源。

  12. <version> <url> <md5hash> 对于命令 openstack compute agent set 应该是可选的

    此前,该命令是 openstack compute agent set <id> <version> <url> <md5hash>,现在是:openstack compute agent set <id> –version <version> –url <url> –md5hash <md5hash>

  13. aggregate set 命令将不再返回修改后的资源

    此前,修改 aggregate 会导致新的 aggregate 显示给用户。为了与其他 set 命令保持一致,我们将不再显示修改后的资源。

  14. ip floating list 命令的输出已更改。

    在使用 Compute v2 时,原始输出是

    # ip floating list
    
    +----+--------+------------+----------+-------------+
    | ID | Pool   | IP         | Fixed IP | Instance ID |
    +----+--------+-----------------------+-------------+
    |  1 | public | 172.24.4.1 | None     | None        |
    +----+--------+------------+----------+-------------+
    

    现在更改为

    # ip floating list
    
    +----+---------------------+------------------+-----------+--------+
    | ID | Floating IP Address | Fixed IP Address | Server ID | Pool   |
    +----+---------------------+------------------+-----------+--------+
    |  1 | 172.24.4.1          | None             | None      | public |
    +----+---------------------+------------------+-----------+--------+
    

    在使用 Network v2 时,与 Compute v2 不同。输出是

    # ip floating list
    
    +--------------------------------------+---------------------+------------------+------+
    | ID                                   | Floating IP Address | Fixed IP Address | Port |
    +--------------------------------------+---------------------+------------------+------+
    | 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3          | None             | None |
    +--------------------------------------+---------------------+------------------+------+
    

针对开发者

如果引入了不兼容的向后更改,则添加标签:BackwardsIncompatibleImpact 到您的 git 提交消息中,如果可能,请更新此文件。

要查看所有受影响的更改,请使用以下查询

https://review.opendev.org/#/q/project:openstack/python-openstackclient+AND+message:BackwardsIncompatibleImpact,n,z