Hi Sanjib,
I think you have to update your robot version, if i remember correctly
dictionary variable defined as &{variable} was introduced recently in robot.
BR/Luis
> On Jan 23, 2016, at 2:08 AM, Sanjib Mohapatra <[email protected]>
> wrote:
>
> Hi Luis/Jamo
>
> As discussed in last clustering meeting, I am getting below error when I run
> following highlighted function
>
> Test Case:
> =========
> Check Shards Status Before Leader Restart
> [Documentation] Check Status for all shards in OpenFlow application.
> Check OpenFlow Shards Status ${original_cluster_list}
>
> The problem comes because below function is called in side Check OpenFlow
> Shards Status
>
> Get Cluster Shard Status
> [Arguments] ${controller_index_list} ${shard_type} ${shard}
> [Documentation] Checks ${shard} status and returns Leader index and a
> list of Followers from a ${controller_index_list}.
> ... ${shard_type} is either config or operational.
> ${lenght}= Get Length ${controller_index_list}
> Run Keyword If '${shard_type}' == 'config' Set Test Variable
> ${type} DistributedConfigDatastore
> Run Keyword If '${shard_type}' == 'operational' Set Test Variable
> ${type} DistributedOperationalDatastore
> Should Not Be Empty ${type} Wrong type, valid values are config and
> operational.
> ${leader}= Set Variable 0
> ${follower_list}= Create List
> : FOR ${i} IN @{controller_index_list}
> \ ${data}= Get Data From URI controller${i}
> ${jolokia_read}:Category=Shards,name=member-${i}-shard-${shard}-${shard_type},type=${type}
> \ Log ${data}
> \ ${json}= To Json ${data}
> \ ${status}= Get From Dictionary &{json}[value] RaftState
> \ Log Controller ${ODL_SYSTEM_${i}_IP} is ${status} for shard
> ${shard}
>
>
>
> root@mininet-vm:/home/mininet/integration/test/csit/suites/openflowplugin/Clustering#
> pybot -L TRACE -v KARAF_HOME:/home/mininet/controller-Li/deploy/current/odl
> -v MININET_USER:mininet -v USER_HOME:/home/mininet -v
> CONTROLLER:10.183.181.51 -v CONTROLLER1:10.183.181.52 -v
> CONTROLLER2:10.183.181.53 -v USER:root -v PASSWORD:rootroot -v
> WORKSPACE:/home/mininet -v BUNDLEFOLDER:controller-Li/deploy/current/ -v
> DEFAULT_LINUX_PROMPT:\# -v CONTROLLER_STOP_TIMEOUT:300 -v NUM_ODL_SYSTEM:3 -v
> MININET_PASSWORD:rootroot 020__Cluster_HA_Leader_Follower_Failover.robot
> ==============================================================================
> Cluster HA Leader Follower Failover :: Test suite for Cluster HA - Device L...
> ==============================================================================
> Create Original Cluster List :: Create original cluster list. | PASS |
> ------------------------------------------------------------------------------
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> Check Shards Status Before Leader Restart :: Check Status for all ... | FAIL |
> TypeError: string indices must be integers
> ------------------------------------------------------------------------------
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> [ WARN ] Syntax '&{json}' is reserved for future use. Please escape it like
> '\&{json}'.
> Get Inventory Leader Before Leader Restart :: Find leader in the I...
> ^CSecond signal will force exit.
>
>
> The issue does not go away if I use “\” as reported in above error, it result
> in another error “TypeError: string indices must be integers”
>
> \ ${status}= Get From Dictionary \&{json}[value] RaftState
>
> ------------------------------------------------------------------------------
> Check Shards Status Before Leader Restart :: Check Status for all ... | FAIL |
> TypeError: string indices must be integers
> -------------------------------------------------------------------------------
>
>
> The issue is solved by adding below two lines and commenting the above line.
>
> # Added below two lines and commented above line
> \ ${value}= Get From Dictionary ${json} value
> \ ${status}= Get From Dictionary ${value} RaftState
>
>
> Please let me know your views.
>
> Thanks
> Sanjib
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev