Separate common packages from orchestrator
The orchestrator module includes many common packages that are imported by other modules, esp. placement/action controllers. These include: db
, contextdb
, auth
, config
and logutils
. A controller, even if it is a 3rd party controller, needs to import the orchestrator module as a whole to get these specific dependencies.
The situation is worsened by the fact that the orchestrator itself depends on clm
, rsync
and monitor
. This forces 3rd party modules to import far more than necessary. This can lead to or exacerbate version/package conflicts.
It would be good to separate the common packages in orchestrator/pkg/infra
into a separate EMCO module that is imported by orchestrator and other modules.
Edited by Nadathur Sundar