← Back to team overview

fuel-dev team mailing list archive

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

 

I'm with Evgeny on #3.
However, as fast workaround, I see no issue having nailgun package
installed in two containers. One of them is nailgun service, and another -
just library, which is used by shotgun. It's like nova-compute importing
nova-network code locally (at least it was so a long time ago). It adds
mess, but it's satisfactory for fast workaround.
Can we do it or I'm missing something?

Thanks,
On Apr 19, 2014 4:59 AM, "Andrew Woodward" <xarses@xxxxxxxxx> wrote:

> 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
>
> --
> 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
>

Follow ups

References