Get "undefined method `configurable?' for nil" error message when update tile properties with om cli
search cancel

Get "undefined method `configurable?' for nil" error message when update tile properties with om cli

book

Article ID: 377672

calendar_today

Updated On:

Products

Ops Manager

Issue/Introduction

The error usually occurs when configuring a tile with Ops Manager CLI (om) - `om configure-product <config parameters>`, the response looks like

HTTP/1.1 500 Internal Server Error
...

{"errors":{"base":["undefined method `configurable?' for nil"]}}

Environment

Ops Manager all releases

Cause

One step of `om configure-product` is to send a PUT API request to Ops Manager with property list

PUT /api/v0/staged/products/p-rabbitmq-#####/properties
{"properties": {"<RROPERTY1>": <VALUE1>}, ####} 

When Ops Manager receives the request, it will validate the incoming property list based on configuration in tile metadata. The file is under /var/tempest/workspaces/default/metadata/ after the tile is imported. If a property does not exists according to the metadata, Ops Manager will  return the error "undefined method `configurable?' for nil". 

This should only occur if you are configure a tile with incorrect config files. For example, when configure RabbitMQ v2.3.5 tile with the config file for v2.4.1, you will get the error.  

Resolution

Please use the proper property configuration files for the exact same version of tile.