Summary of the foreman developer meeting last week

Hi,

Last week, a bunch of foreman developers got together, this is my summary
of items we discussed and want to act on, comments, feedback etc is
welcomed.

Hosts will be converted into a more inventory like service - what we
currently call Aspects [1]:

  • Currently, there are too many permutation on how people use hosts (and
    hostgroups), e.g. provisioning, puppet reporting, enc, facts, chef,
    openscap, subscription, content management etc, the proposal is to break
    down the host object into multiple functionality, which can be turned on /
    off per host. this will allow to have some hosts with puppet, others with
    salt, some of them with subscriptions and others with scap for example.
    effectively, converting the host object into a more inventory like service
    that you can attach features/services to.

next steps:

  • finalize the design decision [1]
  • how to handle multiple fact sources (e.g from facters, subscription
    manager etc)
  • review current UI for facts

Smart Proxy

  • Allow a way to deploy the proxy via a more robust service (read not
    webrick), passenger and other multi threaded options on recent rubies.
  • db on the proxy (currently used for scap and remote execution)
  • continue modularization of proxy services
  • enhance the proxy (and its function) visibility within foreman UI (see
    out of date wireframes at [2])
  • consider collecting information about proxy performance, that plugins
    could decide which proxy to use (e.g. for remote execution, puppet runs
    etc).
  • move to SCL / Ruby 1.9+ and / or drop 1.8 support? (was not sure if
    that's the outcome?)
  • open question - How to load balance / ha for smart proxy services?

Rails 4.1

Rails 4 work is nearly complete, merge is upon us, packaging work will
start in the next few days! hurray!

Other stuff

We talked a lot about taxonomies (Organizations, Locations) but really
lacked an alternative design due to mostly lack of understanding how the
feature work, next step is to:

  • Taxonomies deep dive

Permissions UI

  • We all agreed it can be improved, next step is to work on wireframes.

Javascript testing

  • Lacking of testing and javascript structure come often, however we did
    not leave besides saying we should find a better way than what we currently
    do, any suggestions on how to approach this are very welcomed.

Translations

  • Consider moving to Zanata for translations (will be covered in another
    thread).

Code to move into plugins

  • API v1
  • hostgroup based provisioning
  • GCE Compute Resource

Plugins to move into core

  • Foreman-tasks
  • Hooks
  • DHCP Browser

Optionally move into core:

  • PuppetDB
  • Foreman Expire Hosts
  • Foreman Snapshot

Include Brakeman in PR reviews, only after rails4 is merged (to reduce the
number of false alerts we currently have).

Foreman Tasks:

  • Implement an undo action for tasks (e.g. on failure), this would allow
    replacing the current orchestration code with dynflow.

Web based installer

  • We discussed about exposing the installer via a json API, that can be
    driven via a browser, most people agreed its nice to have, but not in short
    term.

Static Grouping / Tagging

  • We agreed to enable tagging across the application, to enable static
    grouping, that together with search and bookmarks as ways to filter.

Auditing

  • Foreman tasks will expose an interface to auditing, this will allow quick
    solution to include selective events within tasks to show up in the
    auditing logs.
  • Long term, re-evaluation of auditing, logs, events (or lack of),
    notifications and tasks.

Community discussion
We talked a lot about our community goals etc, I'll let Greg cover it in an
additional mail.

In case I've missed something please add it to the thread.

Thanks,
Ohad

[1]
https://groups.google.com/forum/#!searchin/foreman-dev/Introducing$20aspect-based$20design$20to$20Host$20model/foreman-dev/esDULZDlOK8/rmR-Rm9L3kIJ
[2]
https://groups.google.com/forum/#!searchin/foreman-dev/capsule/foreman-dev/zmQiyAbj8NI/4s0AYbubAwAJ

Thanks for the summary

> Code to move into plugins
> * API v1
> * hostgroup based provisioning
> * GCE Compute Resource

Thought we agreed on foreman-templates too?
>
> Include Brakeman in PR reviews, only after rails4 is merged (to reduce the
> number of false alerts we currently have).

Just to be more specific, after strong_params is in and we've marked the
false_positives.

> Static Grouping / Tagging
> - We agreed to enable tagging across the application, to enable static
> grouping, that together with search and bookmarks as ways to filter.

Is this meant to coexist with taxonomies? I thought it was supposed to
be an alternative to locations/organizations

··· On 10/19, Ohad Levy wrote:

In case I’ve missed something please add it to the thread.

Thanks,
Ohad

[1]
https://groups.google.com/forum/#!searchin/foreman-dev/Introducing$20aspect-based$20design$20to$20Host$20model/foreman-dev/esDULZDlOK8/rmR-Rm9L3kIJ
[2]
https://groups.google.com/forum/#!searchin/foreman-dev/capsule/foreman-dev/zmQiyAbj8NI/4s0AYbubAwAJ


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/d/optout.


Daniel Lobato Garcia

@eLobatoss
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato

> Thanks for the summary
>
> > Code to move into plugins
> > * API v1
> > * hostgroup based provisioning
> > * GCE Compute Resource
>
> Thought we agreed on foreman-templates too?
>
Oh, I remember differently, but I'm in different as long as the git source
url is configurable.

> >
> > Include Brakeman in PR reviews, only after rails4 is merged (to reduce
> the
> > number of false alerts we currently have).
>
> Just to be more specific, after strong_params is in and we've marked the
> false_positives.
>
> > Static Grouping / Tagging
> > - We agreed to enable tagging across the application, to enable static
> > grouping, that together with search and bookmarks as ways to filter.
>
> Is this meant to coexist with taxonomies? I thought it was supposed to
> be an alternative to locations/organizations
>

not AFAIK, while it can be used that way, doing more complex things like
nesting etc imho would be harder?

··· On Mon, Oct 19, 2015 at 2:42 PM, Daniel Lobato Garcia wrote: > On 10/19, Ohad Levy wrote:

In case I’ve missed something please add it to the thread.

Thanks,
Ohad

[1]

https://groups.google.com/forum/#!searchin/foreman-dev/Introducing$20aspect-based$20design$20to$20Host$20model/foreman-dev/esDULZDlOK8/rmR-Rm9L3kIJ

[2]

https://groups.google.com/forum/#!searchin/foreman-dev/capsule/foreman-dev/zmQiyAbj8NI/4s0AYbubAwAJ


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/d/optout.


Daniel Lobato Garcia

@eLobatoss
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato


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/d/optout.

>
>
>
>> Thanks for the summary
>>
>> > Code to move into plugins
>> > * API v1
>> > * hostgroup based provisioning
>> > * GCE Compute Resource
>>
>> Thought we agreed on foreman-templates too?
>>
> Oh, I remember differently, but I'm in different as long as the git source
> url is configurable.
>

The notes I had down on this were:

··· On Mon, Oct 19, 2015 at 1:53 PM, Ohad Levy wrote: > On Mon, Oct 19, 2015 at 2:42 PM, Daniel Lobato Garcia > wrote: >> On 10/19, Ohad Levy wrote:

Include Brakeman in PR reviews, only after rails4 is merged (to reduce
the
number of false alerts we currently have).

Just to be more specific, after strong_params is in and we’ve marked the
false_positives.

Static Grouping / Tagging

  • We agreed to enable tagging across the application, to enable static
    grouping, that together with search and bookmarks as ways to filter.

Is this meant to coexist with taxonomies? I thought it was supposed to
be an alternative to locations/organizations

not AFAIK, while it can be used that way, doing more complex things like
nesting etc imho would be harder?

In case I’ve missed something please add it to the thread.

Thanks,
Ohad

[1]

https://groups.google.com/forum/#!searchin/foreman-dev/Introducing$20aspect-based$20design$20to$20Host$20model/foreman-dev/esDULZDlOK8/rmR-Rm9L3kIJ

[2]

https://groups.google.com/forum/#!searchin/foreman-dev/capsule/foreman-dev/zmQiyAbj8NI/4s0AYbubAwAJ


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/d/optout.


Daniel Lobato Garcia

@eLobatoss
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato


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/d/optout.


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/d/optout.


Eric D. Helms
Red Hat Engineering
Ph.D. Student - North Carolina State University

Apparently my email client decided to send before I pasted anything. But I
had down foreman_templates but with the following note:

··· On Mon, Oct 19, 2015 at 3:17 PM, Eric D Helms wrote:

On Mon, Oct 19, 2015 at 1:53 PM, Ohad Levy ohadlevy@gmail.com wrote:

On Mon, Oct 19, 2015 at 2:42 PM, Daniel Lobato Garcia < >> elobatocs@gmail.com> wrote:

Thanks for the summary

On 10/19, Ohad Levy wrote:

Code to move into plugins

  • API v1
  • hostgroup based provisioning
  • GCE Compute Resource

Thought we agreed on foreman-templates too?

Oh, I remember differently, but I’m in different as long as the git
source url is configurable.

The notes I had down on this were:

foreman_templates

pull in templates UI branch to master of the plugin?

Include Brakeman in PR reviews, only after rails4 is merged (to reduce
the
number of false alerts we currently have).

Just to be more specific, after strong_params is in and we’ve marked the
false_positives.

Static Grouping / Tagging

  • We agreed to enable tagging across the application, to enable static
    grouping, that together with search and bookmarks as ways to filter.

Is this meant to coexist with taxonomies? I thought it was supposed to
be an alternative to locations/organizations

not AFAIK, while it can be used that way, doing more complex things like
nesting etc imho would be harder?

In case I’ve missed something please add it to the thread.

Thanks,
Ohad

[1]

https://groups.google.com/forum/#!searchin/foreman-dev/Introducing$20aspect-based$20design$20to$20Host$20model/foreman-dev/esDULZDlOK8/rmR-Rm9L3kIJ

[2]

https://groups.google.com/forum/#!searchin/foreman-dev/capsule/foreman-dev/zmQiyAbj8NI/4s0AYbubAwAJ


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/d/optout.


Daniel Lobato Garcia

@eLobatoss
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato


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/d/optout.


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/d/optout.


Eric D. Helms
Red Hat Engineering
Ph.D. Student - North Carolina State University


Eric D. Helms
Red Hat Engineering
Ph.D. Student - North Carolina State University

To expand - Marek and I were discussing it, and we're not opposed in
principle, but the master branch is one giant rake task, which is not
the sort of code quality we merge to master. The UI branch has a lot
of work done in refactoring that rake task to a model in app/services,
which is much better. The actual UI is, of course, optional -
although my personal preference would be to finish it and then merge
in.

Greg

··· On 19 October 2015 at 15:18, Eric D Helms wrote: >> The notes I had down on this were: > > Apparently my email client decided to send before I pasted anything. But I > had down foreman_templates but with the following note: > > foreman_templates > - pull in templates UI branch to master of the plugin?