Bug 874140 - CCS cannot add/edit param without annotation
Summary: CCS cannot add/edit param without annotation
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-wallaby-tools
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 3.0
: ---
Assignee: Robert Rati
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-11-07 15:16 UTC by Martin Kudlej
Modified: 2013-03-05 19:43 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-05 19:43:36 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Martin Kudlej 2012-11-07 15:16:28 UTC
Description of problem:

$ condor_configure_store -a -p X
:wq

$ Adding the following parameter: X with {}
Modifying the following parameter: X with {:needsRestart=>false, :must_change=>false, :level=>0}
invalid argument: --annotation 
Usage:  wallaby modify-param PARAMETER [...] [OPTIONS]
    -h, --help                       displays this message
        --description VALUE          Sets the description property of the modified parameter
                                        (valid values are strings)
        --default-val VALUE          Sets the default_val property of the modified parameter
                                        (valid values are strings)
        --kind VALUE                 Sets the kind property of the modified parameter
                                        (valid values are strings)
        --needs-restart VALUE        Sets the needsRestart property of the modified parameter
                                        (valid values are "yes", "no")
        --must-change VALUE          Sets the must_change property of the modified parameter
                                        (valid values are "yes", "no")
        --annotation VALUE           Sets the annotation property of the modified parameter
                                        (valid values are strings)
        --level VALUE                Sets the level property of the modified parameter
                                        (valid values are integers)
fatal:  ModifyParam returned non-zero

OK, let's try it again:

$ condor_configure_store -a -p X
:wq

Couldn't create parameter X (Parameter name X is already taken)
fatal:  AddParam returned non-zero

It's taken, so I edit it:

$ condor_configure_store -e -p X

fatal:  undefined method `count' for ["needs", "restart"]:Array

Let's try existed param for check where bug is:

$ condor_configure_store -e -p STARTD_DEBUG
Console Connection Established...
fatal:  undefined method `count' for ["needs", "restart"]:Array

$ condor_configure_store -l -p STARTD_DEBUG
Console Connection Established...
STARTD_DEBUG
  kind:  "String"
  default:  ""
  description:  "The debugging output that the startd will produce in its log"
  must_change:  false
  requires_restart:  false
  visibility_level:  0
  depends:  []
  conflicts:  []
  annotation:  ""
[root@mrg-qe-04 grid_basic_api]# 

Version-Release number of selected component (if applicable):
condor-7.8.7-0.1.el5
condor-aviary-7.8.7-0.1.el5
condor-classads-7.8.7-0.1.el5
condor-qmf-7.8.7-0.1.el5
condor-wallaby-base-db-1.24-1.el5
condor-wallaby-client-5.0.3-2.el5
condor-wallaby-tools-5.0.3-2.el5
python-condorutils-1.5-5.el5
python-qpid-0.14-11.el5
python-qpid-qmf-0.14-14.el5
python-wallabyclient-5.0.3-2.el5
qpid-cpp-client-0.14-22.el5
qpid-cpp-client-devel-0.14-22.el5
qpid-cpp-client-devel-docs-0.14-22.el5
qpid-cpp-client-ssl-0.14-22.el5
qpid-cpp-server-0.14-22.el5
qpid-cpp-server-cluster-0.14-22.el5
qpid-cpp-server-devel-0.14-22.el5
qpid-cpp-server-ssl-0.14-22.el5
qpid-cpp-server-store-0.14-22.el5
qpid-cpp-server-xml-0.14-22.el5
qpid-java-client-0.18-2.el5
qpid-java-common-0.18-2.el5
qpid-java-example-0.18-2.el5
qpid-qmf-0.14-14.el5
qpid-qmf-devel-0.14-14.el5
qpid-tools-0.14-6.el5
ruby-condor-wallaby-5.0.3-2.el5
ruby-qpid-qmf-0.14-14.el5
ruby-wallaby-0.16.1-2.el5
wallaby-0.16.1-2.el5
wallaby-utils-0.16.1-2.el5


How reproducible:
100%

Steps to Reproduce:
1. install condor, qpid and wallaby and configure pool with wallaby
2. try add new param to store with default values for all attributes.
3. try edit existed parameter
  
Actual results:
It is not possible to edit param in store. It is not possible to add new param with default attributes values.

Expected results:
It will be possible to edit param in store. It will be possible to add new param with default attributes values.

Comment 1 Robert Rati 2012-11-07 17:39:04 UTC
The issue is that the modify-parm command does not accept a '--annotation ""' as a valid option, which is what ccs uses when the annotation is empty.  The wallaby shell command doesn't support blanking the annotation, and so neither does ccs.  No functionality is lost.  All other metdata will be set, but any blank annotation will produce the above error message.

Comment 2 Lubos Trilety 2012-11-22 13:58:46 UTC
The same problem with annotation have also group and feature:
# ccs -a -f feat
Console Connection Established...
Adding the following feature: feat
invalid argument: --annotation 
Usage:  wallaby modify-feature FEATURE [OPTIONS]
    -h, --help                       displays this message
        --name VALUE                 Sets the name property of the modified feature
                                        (valid values are strings)
        --annotation VALUE           Sets the annotation property of the modified feature
                                        (valid values are strings)
fatal:  ModifyFeature returned non-zero

# ccs -a -g group
Console Connection Established...
Adding the following group: group
invalid argument: --annotation 
Usage:  wallaby modify-group GROUP [OPTIONS]
    -h, --help                       displays this message
        --name VALUE                 Sets the name property of the modified group
                                        (valid values are strings)
        --annotation VALUE           Sets the annotation property of the modified group
                                        (valid values are strings)
fatal:  ModifyGroup returned non-zero

Comment 3 Lubos Trilety 2012-11-23 16:30:07 UTC
For edit issue a new Bug 879671 was created.

Comment 4 Lubos Trilety 2012-11-23 17:11:49 UTC
(In reply to comment #1)
> The issue is that the modify-parm command does not accept a '--annotation
> ""' as a valid option, which is what ccs uses when the annotation is empty. 
> The wallaby shell command doesn't support blanking the annotation, and so
> neither does ccs.  No functionality is lost.  All other metdata will be set,

Actually it's not completely true, because when user try to create more than one object (e.g. parameter) only metadata for the first one are set, all others have default setting only.

# ccs -a -p PAR10,PAR11
Console Connection Established...
Adding the following parameter: PAR11 with {}
Adding the following parameter: PAR10 with {}
Modifying the following parameter: PAR11 with {:description=>"desc", :needsRestart=>true, :level=>2, :must_change=>false}
invalid argument: --annotation 
Usage:  wallaby modify-param PARAMETER [...] [OPTIONS]
    -h, --help                       displays this message
        --kind VALUE                 Sets the kind property of the modified parameter
                                        (valid values are strings)
        --description VALUE          Sets the description property of the modified parameter
                                        (valid values are strings)
        --default-val VALUE          Sets the default_val property of the modified parameter
                                        (valid values are strings)
        --needs-restart VALUE        Sets the needsRestart property of the modified parameter
                                        (valid values are "yes", "no")
        --level VALUE                Sets the level property of the modified parameter
                                        (valid values are integers)
        --must-change VALUE          Sets the must_change property of the modified parameter
                                        (valid values are "yes", "no")
        --annotation VALUE           Sets the annotation property of the modified parameter
                                        (valid values are strings)
fatal:  ModifyParam returned non-zero

# ccs -l -p PAR10,PAR11
Console Connection Established...
PAR11
  kind:  "string"
  default:  ""
  description:  "desc"
  must_change:  false
  requires_restart:  true
  visibility_level:  2
  depends:  ["PAR"]
  conflicts:  []
  annotation:  ""
PAR10
  kind:  "string"
  default:  ""
  description:  ""
  must_change:  false
  requires_restart:  false
  visibility_level:  0
  depends:  []
  conflicts:  []
  annotation:  ""

Comment 5 Robert Rati 2012-11-26 20:34:26 UTC
The issue of modifying more than 1 object not taking will be resolved with changes for 880302


Note You need to log in before you can comment on or make changes to this bug.