Allow overwriting the values when using *-set CLI on options supporting Append action

Registered by Reedip

As discussed in [1], currently *-set CLIs allow user to add extra values to those options which support "Append" action.
However, this breaks a use case where the user was able to overwrite the options, instead of adding further information.
This blueprint has been created to allow a new option "--no-XYZ" which allows user to clear the information.
- If both --XYZ and --no-XYZ is specified, then the information of XYZ is overwritten
- If --no-XYZ is specified, then the information of XYZ is cleared
- If --XYZ is specified, then the information of XYZ is appended with the information passed to the CLI

Affected options as of 15/4/16
# --allocation-pool and --host-route options : subnet set
# --binding-profile and --fixed-ip options : port set

[1]https://bugs.launchpad.net/python-openstackclient/+bug/1564447/comments/2

Blueprint information

Status:
Started
Approver:
Richard Theis
Priority:
Low
Drafter:
Reedip
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Blocked
Milestone target:
None
Started by
Reedip

Related branches

Sprints

Whiteboard

October 27, 2016 (rtheis): What is the current status for this blueprint?

Gerrit topic: https://review.openstack.org/#q,topic:bp/allow-overwrite-set-options,n,z

Addressed by: https://review.openstack.org/310657
    Add describe of overwrite options behavior into devref ==> merged

Push a demo for discussion ^^ --RuiChen 28/04/2016

Proposed change scope:

compute.v2: To be taken up by reedip
    --property option : aggregate set : https://review.openstack.org/#/c/310193/
    --property option : flavor set : https://review.openstack.org/#/c/415369/1
    --property option : flavor unset https://review.openstack.org/#/c/323709/
    --property option : server set https://review.openstack.org/#/c/423600/
    --property option : server unset : https://review.openstack.org/#/c/310193/

identity.v2 : To be taken up by reedip
    --property option : project set : https://review.openstack.org/423612
    --property option : project unset : https://review.openstack.org/#/c/258376/

identity.v3 : To be taken up by reedip
    --property option : project set

image.v1 : To be taken up by reedip
    --property option : image set

image.v2 : To be taken up by reedip
    --property option : image set

object_store.v1: To be taken up by reedip
    --property option : object store account set
    --property option : object store account unset
    --property option : container set
    --property option : container unset
    --property option : object set
    --property option : object unset

volume.v1 : To be taken up by zhiyon.dai
    --property option : snapshot set: https://review.openstack.org/#/c/416182/
    --property option : snapshot unset: https://review.openstack.org/#/c/369854/
    --property option : volume set: https://review.openstack.org/#/c/434094/
    --property option : volume unset
    --property option : volume type set
    --property option : volume type unset
    --property option : volume qos set: https://review.openstack.org/#/c/433451/
    --property option : volume qos unset

volume.v2 : To be taken up by zhiyon.dai
    --property option : snapshot set: https://review.openstack.org/#/c/416182/
    --property option : snapshot unset : https://review.openstack.org/#/c/369854/
    --property option: volume set: https://review.openstack.org/#/c/434094/
    --image-property options : volume set
    --property and --image-property options : volume unset
    --property option : volume type set
    --property option : volume type unset
    --property option : volume qos set: https://review.openstack.org/#/c/433451/
    --property option : volume qos unset

network.v2
    --binding-profile and --fixed-ip options : https://review.openstack.org/308201
    --route and --clear-routes options : https://review.openstack.org/#/c/398263/
    --dns-nameserver: https://review.openstack.org/398218
    --allocation-pool and --host-route options : https://review.openstack.org/368320
    --dhcp-options and --no-dhcp-options: https://review.openstack.org/356263
Add scope --RuiChen 12/05/2016

Addressed by: https://review.openstack.org/421160
    Update devref about "--no-property"

Addressed by: https://review.openstack.org/415369
    Overwrite/Clear Flavor property

Addressed by: https://review.openstack.org/416182
    Support "--no-property" option in volume snapshot set

Addressed by: https://review.openstack.org/424514
    Introduce overwrite functionality for account property.

Addressed by: https://review.openstack.org/424580
    Introduce overwrite functionality for container property.

Gerrit topic: https://review.openstack.org/#q,topic:bug/1612136,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/network-commands-options,n,z

Addressed by: https://review.openstack.org/434094
    Support --no-property in "volume set" command

Addressed by: https://review.openstack.org/433451
    Support "--no-property" option in volume qos set

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.