clusterdock / topology_cdh

clusterdock topology for Cloudera's Distribution including Apache Hadoop (CDH)
Apache License 2.0
2 stars 5 forks source link

ConfigObj constructor with unexpected keyword argument #45

Open d-becker opened 6 years ago

d-becker commented 6 years ago

Running the command

clusterdock start topology_cdh --cdh-version 580 --cm-version 581

fails with the following message:

$ clusterdock start topology_cdh --cdh-version 580 --cm-version 581
2018-07-05 11:50:19,466 [INFO] [clusterdock.cli] clusterdock_config_directory_path = /Users/danielbecker/.clusterdock
2018-07-05 11:50:19,489 [INFO] [clusterdock.models] self.clusterdock_config_host_dir = /Users/danielbecker/.clusterdock
2018-07-05 11:50:19,490 [INFO] [clusterdock.models] self.clusterdock_config_host_dir = /Users/danielbecker/.clusterdock
2018-07-05 11:50:19,490 [INFO] [clusterdock.models] Starting cluster (proper_hydra) on network (cluster) ...
2018-07-05 11:50:19,613 [INFO] [clusterdock.models] Starting node node-1.cluster ...
2018-07-05 11:50:20,207 [INFO] [clusterdock.models] Created host port mapping (7180 => 32773; 8888 => 32772) for node (node-1).
2018-07-05 11:50:27,726 [INFO] [clusterdock.models] Starting node node-2.cluster ...
2018-07-05 11:50:35,797 [INFO] [clusterdock.topology_cdh.start] Changing CM agent configs on node-1.cluster ...
Traceback (most recent call last):
  File "/usr/local/bin/clusterdock", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/clusterdock/cli.py", line 239, in main
    action.main(args)
  File "/usr/local/lib/python3.7/site-packages/clusterdock/actions/start.py", line 31, in main
    action.main(args)
  File "/Users/danielbecker/clusterdock/topology_cdh/start.py", line 180, in main
    _configure_cm_agents(nodes)
  File "/Users/danielbecker/clusterdock/topology_cdh/start.py", line 949, in _configure_cm_agents
    config = ConfigObj(cm_agent_config, list_item_delimiter=',')
TypeError: __init__() got an unexpected keyword argument 'list_item_delimiter'

The problem is of course that the ConfigObj constructor doesn't expect a 'list_item_delimiter' keyword argument. Should we remove it?

I'm using CDH version 580 and CM version 581 because those are only ones for which a docker image is found by clusterdock, see #44.

dimaspivak commented 6 years ago

You’ve got run pip3 install -r on the tolology’s requirements.txt to pick up the fork that introduces this keyword arg. The keyword arg itself is necessary because of how CM interprets config files. I’ll update the docs to mention this.