+1 to Matt's point It will be harder for us to do containers separation in future than to update some data serialized by nailgun. 18 апр. 2014 г. 20:45 пользователь "Matthew Mosesohn" < [email protected]> написал:
> I think that we should push all the data needed to complete the dump task > along with the task itself (json through to astute then to mcollective), so > that Shotgun (diagnostic snapshot tool) could serve independently. > > > On Fri, Apr 18, 2014 at 8:45 PM, Matthew Mosesohn > <[email protected]>wrote: > >> I think that we should push all the data needed to complete the dump task >> along with the task itself (json through to astute then to mcollective), so >> that Shotgun (diagnostic snapshot tool) could serve independently. >> >> >> On Fri, Apr 18, 2014 at 8:35 PM, Evgeniy L <[email protected]> wrote: >> >>> Hi, >>> >>> How diagnostic snapshot works right now. >>> >>> * user clicks "diagnostic snapshot" button >>> * nailgun creates a task and sends it to orchestrator [0] >>> * orchestrator via mcollective runs 'execute_shell_commad' and >>> mcollective plugin runs `/opt/nailgun/bin/nailgun_dump` command on the >>> master node [1] >>> * nailgun_dump is a part of nailgun codebase and it makes db calls to >>> retrieve nodes and other configs [2] [3] >>> * then it calls imported module shotgun, passes config and it generates >>> snapshot [3] >>> >>> [0] >>> https://github.com/stackforge/fuel-web/blob/0b10ed5fae7a8b140917c6b5381e1d14a2b0e727/nailgun/nailgun/task/task.py#L652-L666 >>> [1] >>> https://github.com/stackforge/fuel-web/blob/0b10ed5fae7a8b140917c6b5381e1d14a2b0e727/nailgun/nailgun/task/task.py#L652-L666 >>> [2] >>> https://github.com/stackforge/fuel-web/blob/0b10ed5fae7a8b140917c6b5381e1d14a2b0e727/nailgun/nailgun/task/task.py#L626-L650 >>> [3] >>> https://github.com/stackforge/fuel-web/blob/0b10ed5fae7a8b140917c6b5381e1d14a2b0e727/nailgun/nailgun/task/task.py#L724 >>> >>> As result nailgun and shotgun use each other's codebase, and we cannot >>> install mcollective and nailgun in separate containers. >>> >>> How we can solve this problem >>> >>> 1. fast workaround, install mcollective and nailgun in a single >>> container >>> 2. shotgun can retrieve all necessary data via nailgun api >>> 3. shotgun must have it's own executable endpoints and it should have >>> nothing in common with nailgun. >>> When nailgun creates task, it can send this config to orchestrator, >>> orchestrator can save this config into the file [4] and then execute >>> shotgun's endpoint and pass path to config file as a parameter. >>> >>> [4] >>> https://github.com/stackforge/fuel-astute/blob/master/mcagents/uploadfile.rb >>> >>> I like third solustion but it will take some time to refactor our code. >>> So, what do you think? >>> >>> Thanks >>> >>> >>> -- >>> Mailing list: https://launchpad.net/~fuel-dev >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~fuel-dev >>> More help : https://help.launchpad.net/ListHelp >>> >>> >> > > -- > Mailing list: https://launchpad.net/~fuel-dev > Post to : [email protected] > Unsubscribe : https://launchpad.net/~fuel-dev > More help : https://help.launchpad.net/ListHelp > >
-- Mailing list: https://launchpad.net/~fuel-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~fuel-dev More help : https://help.launchpad.net/ListHelp

