Knife search attribute name contains dot


#1

Hi,

I have a node and installed 4 redis instances on it, the output of the knife node show command looks as below. When I try to get the redisdashboard.port attribute, it returns null.

chef server to 12.13.0
chef client to 12.19.36
chef DK to 1.2.22

{ 
  ...
  "normal": {
    "redisdashboard.port": 6389,
    "tags": [
      "rediscache",
      "redisdashboard",
      "redisclient",
      "redisaccount"
    ],
    "redisaccount.port": 6379,
    "rediscache.port": 6399,
    "service_type": "redis",
    "redisclient.port": 6409
  },
  "chef_type": "node",
...
}

knife search node 'type:redis' --format json -a rediscache.port
{
“results”: 1,
“rows”: [
{
“apollo-mini-jp-redis-005”: {
“rediscache.port”: null
}
}
]
}

but the below search is working well.
knife search node 'type:redis' --format json -a tags
{
“results”: 1,
“rows”: [
{
“apollo-mini-jp-redis-005”: {
“tags”: [
“rediscache”,
“redisdashboard”,
“redisclient”,
“redisaccount”
]
}
}
]
}

I know dot (.) is a special character, I tried to escape it with a backslash but no help.