695191fa89
Currently, specifying a cells_config file in nova.conf causes CellStateManager to fail and in turn stops the nova-cells service from starting. The reason is that CellsManager creates an instance of CellStateManager with no arguments. CellStateManager __new__ runs and creates an instance of CellStateManagerFile which runs __new__ and __init__ with cell_state_cls and cells_config_path set. At this point __new__ returns CellStateManagerFile and the new instance's __init__ method is invoked (CellStateManagerFile.__init__) with the original arguments (there weren't any) which then results in: 2014-04-29 11:52:05.240 16759 TRACE nova self.state_manager = cell_state_manager() 2014-04-29 11:52:05.240 16759 TRACE nova TypeError: __init__() takes exactly 3 arguments (1 given) It seems reasonable for CellStateManagerFile to derive the cells_config_path info for itself so I have updated the code with that change and added unit tests to catch this bug and to check that the correct managers are still returned Change-Id: I9021640515142a3ca95c2d9e7b03e19b529bc175 Closes-Bug: #1314677 |
||
---|---|---|
.. | ||
__init__.py | ||
fakes.py | ||
test_cells_filters.py | ||
test_cells_manager.py | ||
test_cells_messaging.py | ||
test_cells_rpc_driver.py | ||
test_cells_rpcapi.py | ||
test_cells_scheduler.py | ||
test_cells_state_manager.py | ||
test_cells_utils.py | ||
test_cells_weights.py |