← Back to team overview

fuel-dev team mailing list archive

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

 

I didn't look into the code, but I assume that's the reason of using
nailgun from shotgun - to get node details. So obviously nailgun library
would need a connection to DB & valid /etc/nailgun/settings.yaml. But you
don't need to start nailgun service in this case, you simply use it as a
library.

> bind mounting /etc/nailgun from the nailgun container or reconfiguring
/etc/nailgun/settings.yaml via puppet
whatever can be considered as faster workaround, while the better solution
is being development.

Thanks,



On Sat, Apr 19, 2014 at 11:36 AM, Matthew Mosesohn
<mmosesohn@xxxxxxxxxxxx>wrote:

> Mike,
>
> This would require either bind mounting /etc/nailgun from the nailgun
> container or reconfiguring /etc/nailgun/settings.yaml via puppet so
> that this nailgun on the mcollective container could log into the
> postgres DB to get node info.
>
> On Sat, Apr 19, 2014 at 11:32 AM, Mike Scherbakov
> <mscherbakov@xxxxxxxxxxxx> wrote:
> > 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
> >
> >
> > --
> > 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
> >
>



-- 
Mike Scherbakov
#mihgen

Follow ups

References