← Back to team overview

fuel-dev team mailing list archive

Re: [Fuel] Problem with diagnostic snapshot in case of services containerization

 

packages already broke /opt/nailgun [1]

[root@nailgun ~]# which nailgun_dump
/usr/bin/nailgun_dump

[1] https://bugs.launchpad.net/fuel/+bug/1309741

On Fri, Apr 18, 2014 at 12:28 PM, Vladimir Kuklin <vkuklin@xxxxxxxxxxxx> wrote:
> +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"
> <mmosesohn@xxxxxxxxxxxx> написал:
>
>> 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 <mmosesohn@xxxxxxxxxxxx>
>> 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 <eli@xxxxxxxxxxxx> 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     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~fuel-dev
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>
>>
>>
>> --
>> Mailing list: https://launchpad.net/~fuel-dev
>> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~fuel-dev
>> More help   : https://help.launchpad.net/ListHelp
>>
>
> --
> Mailing list: https://launchpad.net/~fuel-dev
> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~fuel-dev
> More help   : https://help.launchpad.net/ListHelp
>



-- 
Andrew
Mirantis
Ceph community


Follow ups

References