Mcollective smart-proxy integration

Hi,

Our devops team has decided we want to use smart-proxy without foreman so that we can have one central rest api source for orchestration tasks. While we don't have plans to integrate our work into foreman I thought it could easily be integrated at a later point by someone else on the foreman team. If your interested, and have any input or would like to contribute to an smart-proxy mcollective integration please reach out to me. Once our work is complete we will submit pull requests back into the upstream smart-proxy so that others can use.

We also have plans to create other "modules" for smart-proxy too:

-- some sort of monitoring query service (TBD)
-- puppetdb query service
-- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but don't hold us to it.

Corey

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan you
can share with us? or would it be possible to create issues on redmine, so
its easier to understand?

we also started some implementation of mco support via the proxy, I think
it would be great if we could join forces.

Thanks!
Ohad

··· On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman wrote:

Hi,

Our devops team has decided we want to use smart-proxy without foreman so
that we can have one central rest api source for orchestration tasks.
While we don’t have plans to integrate our work into foreman I thought it
could easily be integrated at a later point by someone else on the foreman
team. If your interested, and have any input or would like to contribute
to an smart-proxy mcollective integration please reach out to me. Once our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

    -- some sort of monitoring query service (TBD)
    -- puppetdb query service
    -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

We haven't started yet, and my intention of the post was to start the
collaboration process. I am sure the redmine tickets will ultimately drive
some of the initial design. Please add me to any mcollective tickets
regarding smart proxy and I can take a look.

I did look at the puppet kick/run piece but my goal is to make a generic
mcollective interface to run any kind of mco command.

Without much thinking my initial thought is to have a dynamically
structured mco agent call. Mco will verify the agent exists and return a
list of available agents that can be used.

ie. GET https://smartproxy/mco/agents – returns available agents
GET https://smartproxy/mco/agents/agentname – return help info or 404
POST https://smartproxy/mco/agent/agentname (send body that contains
the arguments, results returned as JSON)

Above design is painfully simple, but I think there would be use cases
around chaining mco commands together. I have only been using mcollective
for a few weeks and I find myself running a mco facts and then a mco find
with a filter based on the facts returned.

Another addition would be to integrate some sort of inventory service so
smartproxy go run mco commands faster. I am not sure how this would work
as there are many inventory services avaiilable(foreman, redis, puppetdb,
file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I'll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I create
a new one?

··· On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote: > > Hey Corey, > > This all sounds very interesting, Do you guys have any detailed plan you > can share with us? or would it be possible to create issues on redmine, so > its easier to understand? > > we also started some implementation of mco support via the proxy, I think > it would be great if we could join forces. > > Thanks! > Ohad > > > On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman <co...@logicminds.biz > > wrote: > >> Hi, >> >> Our devops team has decided we want to use smart-proxy without foreman so >> that we can have one central rest api source for orchestration tasks. >> While we don't have plans to integrate our work into foreman I thought it >> could easily be integrated at a later point by someone else on the foreman >> team. If your interested, and have any input or would like to contribute >> to an smart-proxy mcollective integration please reach out to me. Once our >> work is complete we will submit pull requests back into the upstream >> smart-proxy so that others can use. >> >> We also have plans to create other "modules" for smart-proxy too: >> >> -- some sort of monitoring query service (TBD) >> -- puppetdb query service >> -- mcollective service (discussed above) >> >> >> I expect a good amount of work to be completed in about 30 days but don't >> hold us to it. >> >> >> >> Corey >> >> -- >> You received this message because you are subscribed to the Google Groups >> "foreman-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to foreman-dev...@googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> > >

> From: "Corey Osman" <corey@logicminds.biz>
> To: foreman-dev@googlegroups.com
> Sent: Friday, October 18, 2013 12:12:31 AM
> Subject: Re: [foreman-dev] mcollective smart-proxy integration
>
> We haven't started yet, and my intention of the post was to start the
> collaboration process. I am sure the redmine tickets will ultimately drive
> some of the initial design. Please add me to any mcollective tickets
> regarding smart proxy and I can take a look.
>
> I did look at the puppet kick/run piece but my goal is to make a generic
> mcollective interface to run any kind of mco command.
>
> Without much thinking my initial thought is to have a dynamically
> structured mco agent call. Mco will verify the agent exists and return a
> list of available agents that can be used.
>
> ie. GET https://smartproxy/mco/agents – returns available agents
> GET https://smartproxy/mco/agents/agentname – return help info or 404
> POST https://smartproxy/mco/agent/agentname (send body that contains
> the arguments, results returned as JSON)
>
> Above design is painfully simple, but I think there would be use cases
> around chaining mco commands together. I have only been using mcollective
> for a few weeks and I find myself running a mco facts and then a mco find
> with a filter based on the facts returned.

You should check out the work that witlessb and I did on the proxy [1]. We already have package, service, and agent management done although it needs some polishing.

Do you want to schedule a meeting on IRC next week to figure out how we can work together?

-Sam

  1. https://github.com/skottler/smart-proxy/tree/mcollective
··· ----- Original Message -----

Another addition would be to integrate some sort of inventory service so
smartproxy go run mco commands faster. I am not sure how this would work
as there are many inventory services avaiilable(foreman, redis, puppetdb,
file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I’ll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I create
a new one?

On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote:

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan you
can share with us? or would it be possible to create issues on redmine, so
its easier to understand?

we also started some implementation of mco support via the proxy, I think
it would be great if we could join forces.

Thanks!
Ohad

On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman > > <co...@logicminds.biz<javascript:> > > > wrote:

Hi,

Our devops team has decided we want to use smart-proxy without foreman so
that we can have one central rest api source for orchestration tasks.
While we don’t have plans to integrate our work into foreman I thought it
could easily be integrated at a later point by someone else on the foreman
team. If your interested, and have any input or would like to contribute
to an smart-proxy mcollective integration please reach out to me. Once
our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

    -- some sort of monitoring query service (TBD)
    -- puppetdb query service
    -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev...@googlegroups.com <javascript:>.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

>
>
>> From: "Corey Osman" <corey@logicminds.biz>
>> To: foreman-dev@googlegroups.com
>> Sent: Friday, October 18, 2013 12:12:31 AM
>> Subject: Re: [foreman-dev] mcollective smart-proxy integration
>>
>> We haven't started yet, and my intention of the post was to start the
>> collaboration process. I am sure the redmine tickets will ultimately drive
>> some of the initial design. Please add me to any mcollective tickets
>> regarding smart proxy and I can take a look.
>>
>> I did look at the puppet kick/run piece but my goal is to make a generic
>> mcollective interface to run any kind of mco command.
>>
>> Without much thinking my initial thought is to have a dynamically
>> structured mco agent call. Mco will verify the agent exists and return a
>> list of available agents that can be used.
>>
>> ie. GET https://smartproxy/mco/agents – returns available agents
>> GET https://smartproxy/mco/agents/agentname – return help info or 404
>> POST https://smartproxy/mco/agent/agentname (send body that contains
>> the arguments, results returned as JSON)
>>
>> Above design is painfully simple, but I think there would be use cases
>> around chaining mco commands together. I have only been using mcollective
>> for a few weeks and I find myself running a mco facts and then a mco find
>> with a filter based on the facts returned.
>
> You should check out the work that witlessb and I did on the proxy [1]. We already have package, service, and agent management done although it needs some polishing.
Everything seems so static though. I would like to build a more dynamic solution with the ability to support any agent/application installed by the user without writing additional code.

>
> Do you want to schedule a meeting on IRC next week to figure out how we can work together?
Absolutely, Mornings between 11AM-12PM or afternoons 3PM-6PM PST work best for me.

··· On Oct 18, 2013, at 9:49 AM, Sam Kottler wrote: > ----- Original Message -----

-Sam

  1. https://github.com/skottler/smart-proxy/tree/mcollective

Another addition would be to integrate some sort of inventory service so
smartproxy go run mco commands faster. I am not sure how this would work
as there are many inventory services avaiilable(foreman, redis, puppetdb,
file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I’ll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I create
a new one?

On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote:

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan you
can share with us? or would it be possible to create issues on redmine, so
its easier to understand?

we also started some implementation of mco support via the proxy, I think
it would be great if we could join forces.

Thanks!
Ohad

On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman >>> <co...@logicminds.biz<javascript:> >>>> wrote:

Hi,

Our devops team has decided we want to use smart-proxy without foreman so
that we can have one central rest api source for orchestration tasks.
While we don’t have plans to integrate our work into foreman I thought it
could easily be integrated at a later point by someone else on the foreman
team. If your interested, and have any input or would like to contribute
to an smart-proxy mcollective integration please reach out to me. Once
our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

   -- some sort of monitoring query service (TBD)
   -- puppetdb query service
   -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev...@googlegroups.com <javascript:>.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to a topic in the Google Groups “foreman-dev” group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/foreman-dev/vj0hLCD6OvQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

> From: "Corey Osman" <corey@logicminds.biz>
> To: foreman-dev@googlegroups.com
> Sent: Friday, October 18, 2013 1:05:42 PM
> Subject: Re: [foreman-dev] mcollective smart-proxy integration
>
>
>
> >
> >
> >> From: "Corey Osman" <corey@logicminds.biz>
> >> To: foreman-dev@googlegroups.com
> >> Sent: Friday, October 18, 2013 12:12:31 AM
> >> Subject: Re: [foreman-dev] mcollective smart-proxy integration
> >>
> >> We haven't started yet, and my intention of the post was to start the
> >> collaboration process. I am sure the redmine tickets will ultimately
> >> drive
> >> some of the initial design. Please add me to any mcollective tickets
> >> regarding smart proxy and I can take a look.
> >>
> >> I did look at the puppet kick/run piece but my goal is to make a generic
> >> mcollective interface to run any kind of mco command.
> >>
> >> Without much thinking my initial thought is to have a dynamically
> >> structured mco agent call. Mco will verify the agent exists and return a
> >> list of available agents that can be used.
> >>
> >> ie. GET https://smartproxy/mco/agents – returns available agents
> >> GET https://smartproxy/mco/agents/agentname – return help info or 404
> >> POST https://smartproxy/mco/agent/agentname (send body that contains
> >> the arguments, results returned as JSON)
> >>
> >> Above design is painfully simple, but I think there would be use cases
> >> around chaining mco commands together. I have only been using mcollective
> >> for a few weeks and I find myself running a mco facts and then a mco find
> >> with a filter based on the facts returned.
> >
> > You should check out the work that witlessb and I did on the proxy [1]. We
> > already have package, service, and agent management done although it needs
> > some polishing.
> Everything seems so static though. I would like to build a more dynamic
> solution with the ability to support any agent/application installed by the
> user without writing additional code.

Yeah that's what's next - we were just working on getting an initial solution as part of the spike. The RPC framework will probably let us expose arbitrary agents; definitely a topic for when we talk in real-time.

>
> >
> > Do you want to schedule a meeting on IRC next week to figure out how we can
> > work together?
> Absolutely, Mornings between 11AM-12PM or afternoons 3PM-6PM PST work best
> for me.

witlessb is in the UK so I think the morning slot will be better. How does Tuesday at 11am PST/2pm EST/7pm BST sound?

··· ----- Original Message ----- > On Oct 18, 2013, at 9:49 AM, Sam Kottler wrote: > > ----- Original Message -----

-Sam

  1. https://github.com/skottler/smart-proxy/tree/mcollective

Another addition would be to integrate some sort of inventory service so
smartproxy go run mco commands faster. I am not sure how this would work
as there are many inventory services avaiilable(foreman, redis, puppetdb,
file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I’ll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I create
a new one?

On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote:

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan you
can share with us? or would it be possible to create issues on redmine,
so
its easier to understand?

we also started some implementation of mco support via the proxy, I think
it would be great if we could join forces.

Thanks!
Ohad

On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman > >>> <co...@logicminds.biz<javascript:> > >>>> wrote:

Hi,

Our devops team has decided we want to use smart-proxy without foreman
so
that we can have one central rest api source for orchestration tasks.
While we don’t have plans to integrate our work into foreman I thought
it
could easily be integrated at a later point by someone else on the
foreman
team. If your interested, and have any input or would like to
contribute
to an smart-proxy mcollective integration please reach out to me. Once
our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

   -- some sort of monitoring query service (TBD)
   -- puppetdb query service
   -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but
don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google
Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an
email to foreman-dev...@googlegroups.com <javascript:>.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to a topic in the
Google Groups “foreman-dev” group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/foreman-dev/vj0hLCD6OvQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

>
>
> > From: "Corey Osman" <corey@logicminds.biz>
> > To: foreman-dev@googlegroups.com
> > Sent: Friday, October 18, 2013 1:05:42 PM
> > Subject: Re: [foreman-dev] mcollective smart-proxy integration
> >
> >
> >
> > >
> > >
> > >> From: "Corey Osman" <corey@logicminds.biz>
> > >> To: foreman-dev@googlegroups.com
> > >> Sent: Friday, October 18, 2013 12:12:31 AM
> > >> Subject: Re: [foreman-dev] mcollective smart-proxy integration
> > >>
> > >> We haven't started yet, and my intention of the post was to start the
> > >> collaboration process. I am sure the redmine tickets will ultimately
> > >> drive
> > >> some of the initial design. Please add me to any mcollective tickets
> > >> regarding smart proxy and I can take a look.
> > >>
> > >> I did look at the puppet kick/run piece but my goal is to make a
> generic
> > >> mcollective interface to run any kind of mco command.
> > >>
> > >> Without much thinking my initial thought is to have a dynamically
> > >> structured mco agent call. Mco will verify the agent exists and
> return a
> > >> list of available agents that can be used.
> > >>
> > >> ie. GET https://smartproxy/mco/agents – returns available agents
> > >> GET https://smartproxy/mco/agents/agentname – return help info
> or 404
> > >> POST https://smartproxy/mco/agent/agentname (send body that
> contains
> > >> the arguments, results returned as JSON)
> > >>
> > >> Above design is painfully simple, but I think there would be use cases
> > >> around chaining mco commands together. I have only been using
> mcollective
> > >> for a few weeks and I find myself running a mco facts and then a mco
> find
> > >> with a filter based on the facts returned.
> > >
> > > You should check out the work that witlessb and I did on the proxy
> [1]. We
> > > already have package, service, and agent management done although it
> needs
> > > some polishing.
> > Everything seems so static though. I would like to build a more dynamic
> > solution with the ability to support any agent/application installed by
> the
> > user without writing additional code.
>
> Yeah that's what's next - we were just working on getting an initial
> solution as part of the spike. The RPC framework will probably let us
> expose arbitrary agents; definitely a topic for when we talk in real-time.
>
> >
> > >
> > > Do you want to schedule a meeting on IRC next week to figure out how
> we can
> > > work together?
> > Absolutely, Mornings between 11AM-12PM or afternoons 3PM-6PM PST work
> best
> > for me.
>
> witlessb is in the UK so I think the morning slot will be better. How does
> Tuesday at 11am PST/2pm EST/7pm BST sound?
>

that works for me. Tuesday, or any other day of the week.
-d

··· On Fri, Oct 18, 2013 at 6:09 PM, Sam Kottler wrote: > ----- Original Message ----- > > On Oct 18, 2013, at 9:49 AM, Sam Kottler wrote: > > > ----- Original Message -----

-Sam

  1. https://github.com/skottler/smart-proxy/tree/mcollective

Another addition would be to integrate some sort of inventory service
so

smartproxy go run mco commands faster. I am not sure how this would
work

as there are many inventory services avaiilable(foreman, redis,
puppetdb,

file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I’ll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I
create

a new one?

On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote:

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan
you

can share with us? or would it be possible to create issues on
redmine,

so
its easier to understand?

we also started some implementation of mco support via the proxy, I
think

it would be great if we could join forces.

Thanks!
Ohad

On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman > > >>> <co...@logicminds.biz<javascript:> > > >>>> wrote:

Hi,

Our devops team has decided we want to use smart-proxy without
foreman

so
that we can have one central rest api source for orchestration
tasks.

While we don’t have plans to integrate our work into foreman I
thought

it
could easily be integrated at a later point by someone else on the
foreman
team. If your interested, and have any input or would like to
contribute
to an smart-proxy mcollective integration please reach out to me.
Once

our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

   -- some sort of monitoring query service (TBD)
   -- puppetdb query service
   -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but
don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google
Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it,
send

an
email to foreman-dev...@googlegroups.com <javascript:>.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google
Groups

“foreman-dev” group.
To unsubscribe from this group and stop receiving emails from it,
send an

email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to a topic in the
Google Groups “foreman-dev” group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/foreman-dev/vj0hLCD6OvQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Time slot sounds good. I'll send out a google calendar as a reminder.

··· On Oct 18, 2013, at 10:14 AM, Dmitri Dolguikh wrote:

On Fri, Oct 18, 2013 at 6:09 PM, Sam Kottler skottler@redhat.com wrote:

----- Original Message -----

From: “Corey Osman” corey@logicminds.biz
To: foreman-dev@googlegroups.com
Sent: Friday, October 18, 2013 1:05:42 PM
Subject: Re: [foreman-dev] mcollective smart-proxy integration

On Oct 18, 2013, at 9:49 AM, Sam Kottler skottler@redhat.com wrote:

----- Original Message -----

From: “Corey Osman” corey@logicminds.biz
To: foreman-dev@googlegroups.com
Sent: Friday, October 18, 2013 12:12:31 AM
Subject: Re: [foreman-dev] mcollective smart-proxy integration

We haven’t started yet, and my intention of the post was to start the
collaboration process. I am sure the redmine tickets will ultimately
drive
some of the initial design. Please add me to any mcollective tickets
regarding smart proxy and I can take a look.

I did look at the puppet kick/run piece but my goal is to make a generic
mcollective interface to run any kind of mco command.

Without much thinking my initial thought is to have a dynamically
structured mco agent call. Mco will verify the agent exists and return a
list of available agents that can be used.

ie. GET https://smartproxy/mco/agents – returns available agents
GET https://smartproxy/mco/agents/agentname – return help info or 404
POST https://smartproxy/mco/agent/agentname (send body that contains
the arguments, results returned as JSON)

Above design is painfully simple, but I think there would be use cases
around chaining mco commands together. I have only been using mcollective
for a few weeks and I find myself running a mco facts and then a mco find
with a filter based on the facts returned.

You should check out the work that witlessb and I did on the proxy [1]. We
already have package, service, and agent management done although it needs
some polishing.
Everything seems so static though. I would like to build a more dynamic
solution with the ability to support any agent/application installed by the
user without writing additional code.

Yeah that’s what’s next - we were just working on getting an initial solution as part of the spike. The RPC framework will probably let us expose arbitrary agents; definitely a topic for when we talk in real-time.

Do you want to schedule a meeting on IRC next week to figure out how we can
work together?
Absolutely, Mornings between 11AM-12PM or afternoons 3PM-6PM PST work best
for me.

witlessb is in the UK so I think the morning slot will be better. How does Tuesday at 11am PST/2pm EST/7pm BST sound?

that works for me. Tuesday, or any other day of the week.
-d

-Sam

  1. https://github.com/skottler/smart-proxy/tree/mcollective

Another addition would be to integrate some sort of inventory service so
smartproxy go run mco commands faster. I am not sure how this would work
as there are many inventory services avaiilable(foreman, redis, puppetdb,
file, …) but I think the inventory provider should be pluggable.

I also want to create some sort of audit trail IP/username so we can
determine who is doing what. Additionally I’ll need some sort of
authentication mechanism (LDAP possibly). Mcollective is some pretty
powerfull stuff so I feel like I need to protect it.

Is there an existing ticket for mcollective integration or should I create
a new one?

On Thursday, October 17, 2013 12:09:50 AM UTC-7, ohadlevy wrote:

Hey Corey,

This all sounds very interesting, Do you guys have any detailed plan you
can share with us? or would it be possible to create issues on redmine,
so
its easier to understand?

we also started some implementation of mco support via the proxy, I think
it would be great if we could join forces.

Thanks!
Ohad

On Thu, Oct 17, 2013 at 2:27 AM, Corey Osman > > >>> <co...@logicminds.biz<javascript:> > > >>>> wrote:

Hi,

Our devops team has decided we want to use smart-proxy without foreman
so
that we can have one central rest api source for orchestration tasks.
While we don’t have plans to integrate our work into foreman I thought
it
could easily be integrated at a later point by someone else on the
foreman
team. If your interested, and have any input or would like to
contribute
to an smart-proxy mcollective integration please reach out to me. Once
our
work is complete we will submit pull requests back into the upstream
smart-proxy so that others can use.

We also have plans to create other “modules” for smart-proxy too:

   -- some sort of monitoring query service (TBD)
   -- puppetdb query service
   -- mcollective service (discussed above)

I expect a good amount of work to be completed in about 30 days but
don’t
hold us to it.

Corey


You received this message because you are subscribed to the Google
Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an
email to foreman-dev...@googlegroups.com <javascript:>.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to a topic in the
Google Groups “foreman-dev” group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/foreman-dev/vj0hLCD6OvQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to the Google Groups “foreman-dev” group.
To unsubscribe from this group and stop receiving emails from it, send an email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


You received this message because you are subscribed to a topic in the Google Groups “foreman-dev” group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/foreman-dev/vj0hLCD6OvQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.