Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mess with aux properties #36

Open
kvaps opened this issue May 11, 2020 · 1 comment
Open

Mess with aux properties #36

kvaps opened this issue May 11, 2020 · 1 comment

Comments

@kvaps
Copy link

kvaps commented May 11, 2020

Hi, there is bit mess with aux properties, eg:

linstor n sp --aux foo bar # sets foo property, but 
linstor n sp --aux foo=bar # removes one
linstor n sp Aux/foo bar # doing the same like
linstor n sp --aux foo bar

# but only first variant is allowed for query
linstor n l --prop Aux/foo

# however node list shows 'Aux properties' column with Aux/ prefix: 
linstor n l --show-aux-props
+------------------------------------------------------------------------------+
| Node  | NodeType  | Addresses               | AuxProps              | State  |
|==============================================================================|
| m1c4  | SATELLITE | 10.28.36.164:3367 (SSL) | Aux/side=a            | Online |
|       |           |                         | Aux/moonshot=1        |        |
|       |           |                         | Aux/opennebula-1=true |        |
|------------------------------------------------------------------------------|
...
linstor rg m test3 --replicas-on-same foo bar #specifies two keys
linstor rg l -r test3 # also shows 'Aux/' prefix
+-------------------------------------------------------------------------------+
| ResourceGroup | SelectFilter                           | VlmNrs | Description |
|===============================================================================|
| test3         | PlaceCount: 2                          |        |             |
|               | ReplicasOnSame: ['Aux/foo', 'Aux/bar'] |        |             |
+-------------------------------------------------------------------------------+
# but
linstor rg m test3 --replicas-on-same aaa=ddd # specifies key value
linstor rg l -r test3
+------------------------------------------------------------------------+
| ResourceGroup | SelectFilter                    | VlmNrs | Description |
|========================================================================|
| test3         | PlaceCount: 2                   |        |             |
|               | ReplicasOnSame: ['Aux/aaa=ddd'] |        |             |
+------------------------------------------------------------------------+
linstor rg m test3 --replicas-on-same # will not delete the property
linstor rg l -r test3
+------------------------------------------------------------------------+
| ResourceGroup | SelectFilter                    | VlmNrs | Description |
|========================================================================|
| test3         | PlaceCount: 2                   |        |             |
|               | ReplicasOnSame: ['Aux/aaa=ddd'] |        |             |
+------------------------------------------------------------------------+

# but does
linstor rg m test3 --replicas-on-same=
linstor rg l -r test3
+------------------------------------------------------+
| ResourceGroup | SelectFilter  | VlmNrs | Description |
|======================================================|
| test3         | PlaceCount: 2 |        |             |
+------------------------------------------------------+

Also I'm not sure if python args allows to modify help message, but I think to specifying positional arguments in first place is most preferred than keys, since keys might have multiple words inside, eg:

usage: linstor resource-group modify name [-h] [-d DESCRIPTION]
                                     [--storage-pool STORAGE_POOL]
                                     [--place-count REPLICA_COUNT]
                                     [--do-not-place-with [RESOURCE_NAME [RESOURCE_NAME ...]]]
                                     [--do-not-place-with-regex [RESOURCE_REGEX]]
                                     [--replicas-on-same [REPLICAS_ON_SAME [REPLICAS_ON_SAME ...]]]
                                     [--replicas-on-different [REPLICAS_ON_DIFFERENT [REPLICAS_ON_DIFFERENT ...]]]
                                     [--diskless-on-remaining [DISKLESS_ON_REMAINING]]
                                     [-l LAYER_LIST] [-p PROVIDERS]

In #32 (comment) @rp- said :

Just note, the errors from the first comment (even while they are still broken otherwise) are because of how the python parser works, you would have to set the opional argument at the end, like:
linstor rg m test --place-count 2 --replicas-on-same room --replicas-on-different rack

I think this is valid for any other commands, eg linstor r c

@kvaps
Copy link
Author

kvaps commented May 20, 2020

Just short node the help command is not valid anymore:

usage: linstor resource create [-h] [--diskless] [--node-id NODE_ID] [--async]
                               [--nvme-initiator] [--drbd-diskless]
                               [--storage-pool [STORAGE_POOL [STORAGE_POOL ...]]]
                               [--auto-place REPLICA_COUNT]
                               [--do-not-place-with [RESOURCE_NAME [RESOURCE_NAME ...]]]
                               [--do-not-place-with-regex [RESOURCE_REGEX]]
                               [--replicas-on-same [REPLICAS_ON_SAME [REPLICAS_ON_SAME ...]]]
                               [--replicas-on-different [REPLICAS_ON_DIFFERENT [REPLICAS_ON_DIFFERENT ...]]]
                               [--diskless-on-remaining [DISKLESS_ON_REMAINING]]
                               [-l LAYER_LIST] [-p PROVIDERS]
                               [node_name [node_name ...]]
                               resource_definition_name

eg try to run on v1.1.1:

linstor resource create -s DfltDisklessStorPool m1c7 one-vm-563-disk-0

now this is only valid case

linstor resource create m1c7 one-vm-563-disk-0 -s DfltDisklessStorPool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant