Merge foreman-bats into Forklift

Hello all,

With katello-deploy being renamed to Forklift1, I was wondering if we
should merge foreman-bats into it. The benefit would be that it already
contains some bats tests for Katello and if it's going to be the tool to
deploy a development env or test env, it's a logical fit for all our
system tests.

Thoughts?

> Thoughts?

Is it possible to use katello-deploy for deployment of plain Foreman? If
not, are there plans to do so? If not, it does not make much sense to me
other than having the tests under one roof.

Personally, I am not against the change, I can change my daily beaker
test URL easily.

··· -- Later, Lukas #lzap Zapletal

I'd prefer to keep foreman-bats where it is, I don't want to mix
it with development tools or plugins. foreman-bats serves a limited
purpose well right now.

··· On 23/05/16 21:48, Ewoud Kohl van Wijngaarden wrote: > Hello all, > > With katello-deploy being renamed to Forklift[1], I was wondering if we > should merge foreman-bats into it. The benefit would be that it already > contains some bats tests for Katello and if it's going to be the tool to > deploy a development env or test env, it's a logical fit for all our > system tests. > > Thoughts?


Dominic Cleal
dominic@cleal.org

Yes, Forklift can deploy just foreman: https://git.io/vroKn

David

··· On Tue, May 24, 2016 at 9:51 AM, Lukas Zapletal wrote:

Thoughts?

Is it possible to use katello-deploy for deployment of plain Foreman? If
not, are there plans to do so? If not, it does not make much sense to me
other than having the tests under one roof.

Personally, I am not against the change, I can change my daily beaker
test URL easily.


Later,
Lukas #lzap Zapletal


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.

> From: "Dominic Cleal" <dominic@cleal.org>
> To: foreman-dev@googlegroups.com
> Sent: Wednesday, May 25, 2016 10:29:41 AM
> Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
>
> > Hello all,
> >
> > With katello-deploy being renamed to Forklift[1], I was wondering if we
> > should merge foreman-bats into it. The benefit would be that it already
> > contains some bats tests for Katello and if it's going to be the tool to
> > deploy a development env or test env, it's a logical fit for all our
> > system tests.
> >
> > Thoughts?
>
> I'd prefer to keep foreman-bats where it is, I don't want to mix
> it with development tools or plugins. foreman-bats serves a limited
> purpose well right now.

Well, Katello hosts its bats tests in Forklift, and we share a lot of common
code. Katello misses out on new features and changes to bats helpers.

I can understand separating it from development tools, so what about moving
Katello's bats to foreman-bats?

··· ----- Original Message ----- > On 23/05/16 21:48, Ewoud Kohl van Wijngaarden wrote:


Dominic Cleal
dominic@cleal.org


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.

>
>
> > From: "Dominic Cleal" <dominic@cleal.org>
> > To: foreman-dev@googlegroups.com
> > Sent: Wednesday, May 25, 2016 10:29:41 AM
> > Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
> >
> > > Hello all,
> > >
> > > With katello-deploy being renamed to Forklift[1], I was wondering if we
> > > should merge foreman-bats into it. The benefit would be that it already
> > > contains some bats tests for Katello and if it's going to be the tool to
> > > deploy a development env or test env, it's a logical fit for all our
> > > system tests.
> > >
> > > Thoughts?
> >
> > I'd prefer to keep foreman-bats where it is, I don't want to mix
> > it with development tools or plugins. foreman-bats serves a limited
> > purpose well right now.
>
> Well, Katello hosts its bats tests in Forklift, and we share a lot of common
> code. Katello misses out on new features and changes to bats helpers.

This was my primary motivation for the proposal.

> I can understand separating it from development tools, so what about moving
> Katello's bats to foreman-bats?

What would then be the primary way of getting the latest bats tests? A
script to clone the foreman-bats repository?

··· On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote: > ----- Original Message ----- > > On 23/05/16 21:48, Ewoud Kohl van Wijngaarden wrote:

Assuming you just want to get foreman-bats to use its helpers then yes,
just clone the repo and they should be usable. Freight does something
similar to use another library of BATS helpers
(https://github.com/freight-team/freight/blob/master/Makefile#L88).

Else you could use a submodule/tree to stay with a particular version.
The helpers could always be moved into their own repo if necessary.

··· On 25/05/16 17:25, Ewoud Kohl van Wijngaarden wrote: > On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote: >> I can understand separating it from development tools, so what about moving >> Katello's bats to foreman-bats? > > What would then be the primary way of getting the latest bats tests? A > script to clone the foreman-bats repository?


Dominic Cleal
dominic@cleal.org

> From: "Dominic Cleal" <dominic@cleal.org>
> To: foreman-dev@googlegroups.com
> Sent: Thursday, May 26, 2016 5:42:33 AM
> Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
>
> >> I can understand separating it from development tools, so what about
> >> moving
> >> Katello's bats to foreman-bats?
> >
> > What would then be the primary way of getting the latest bats tests? A
> > script to clone the foreman-bats repository?
>
> Assuming you just want to get foreman-bats to use its helpers then yes,
> just clone the repo and they should be usable. Freight does something
> similar to use another library of BATS helpers
> (https://github.com/freight-team/freight/blob/master/Makefile#L88).
>
> Else you could use a submodule/tree to stay with a particular version.
> The helpers could always be moved into their own repo if necessary.

I don't "just" want foreman-bats helpers, that's just one reason to merge
the projects. I think they should be in the same repo together, wherever
that is, and work with Forklift's Vagrant setup.

One of the benefits of how Forklift does things is that you can easily
vagrant up centos7-bats and run katello bats locally. Why should
foreman-bats stay in its own repo and maintain an entirely separate
and different vagrant configuration?

  • Stephen
··· ----- Original Message ----- > On 25/05/16 17:25, Ewoud Kohl van Wijngaarden wrote: > > On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote:


Dominic Cleal
dominic@cleal.org


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.

+1 to treating katello more closely with foreman core

··· On Thu, May 26, 2016 at 10:58 AM, Stephen Benjamin wrote:

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

From: “Dominic Cleal” dominic@cleal.org
To: foreman-dev@googlegroups.com
Sent: Thursday, May 26, 2016 5:42:33 AM
Subject: Re: [foreman-dev] Merge foreman-bats into Forklift

On 25/05/16 17:25, Ewoud Kohl van Wijngaarden wrote:

On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote:

I can understand separating it from development tools, so what about
moving
Katello’s bats to foreman-bats?

What would then be the primary way of getting the latest bats tests? A
script to clone the foreman-bats repository?

Assuming you just want to get foreman-bats to use its helpers then yes,
just clone the repo and they should be usable. Freight does something
similar to use another library of BATS helpers
(https://github.com/freight-team/freight/blob/master/Makefile#L88).

Else you could use a submodule/tree to stay with a particular version.
The helpers could always be moved into their own repo if necessary.

I don’t “just” want foreman-bats helpers, that’s just one reason to merge
the projects. I think they should be in the same repo together, wherever
that is, and work with Forklift’s Vagrant setup.

One of the benefits of how Forklift does things is that you can easily
vagrant up centos7-bats and run katello bats locally. Why should
foreman-bats stay in its own repo and maintain an entirely separate
and different vagrant configuration?

  • Stephen


Dominic Cleal
dominic@cleal.org


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.

>
>
>> From: "Dominic Cleal" <dominic@cleal.org>
>> To: foreman-dev@googlegroups.com
>> Sent: Thursday, May 26, 2016 5:42:33 AM
>> Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
>>
>>>> I can understand separating it from development tools, so what about
>>>> moving
>>>> Katello's bats to foreman-bats?
>>>
>>> What would then be the primary way of getting the latest bats tests? A
>>> script to clone the foreman-bats repository?
>>
>> Assuming you just want to get foreman-bats to use its helpers then yes,
>> just clone the repo and they should be usable. Freight does something
>> similar to use another library of BATS helpers
>> (https://github.com/freight-team/freight/blob/master/Makefile#L88).
>>
>> Else you could use a submodule/tree to stay with a particular version.
>> The helpers could always be moved into their own repo if necessary.
>
> I don't "just" want foreman-bats helpers, that's just one reason to merge
> the projects. I think they should be in the same repo together, wherever
> that is, and work with Forklift's Vagrant setup.

They're tests for different projects, they should be maintained with and
by the projects they're testing, not together. Plugins and other
projects should have autonomy to maintain their own codebases, not be
part of Foreman's.

> One of the benefits of how Forklift does things is that you can easily
> vagrant up centos7-bats and run katello bats locally. Why should
> foreman-bats stay in its own repo and maintain an entirely separate
> and different vagrant configuration?

Extract the commonality to a separate project if that's what you want to
fix, but don't build one repo covering multiple projects.

··· On 26/05/16 15:58, Stephen Benjamin wrote: > ----- Original Message ----- >> On 25/05/16 17:25, Ewoud Kohl van Wijngaarden wrote: >>> On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote:


Dominic Cleal
dominic@cleal.org

> From: "Dominic Cleal" <dominic@cleal.org>
> To: foreman-dev@googlegroups.com
> Sent: Friday, May 27, 2016 3:01:30 AM
> Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
>
> >
> >
> >> From: "Dominic Cleal" <dominic@cleal.org>
> >> To: foreman-dev@googlegroups.com
> >> Sent: Thursday, May 26, 2016 5:42:33 AM
> >> Subject: Re: [foreman-dev] Merge foreman-bats into Forklift
> >>
> >>>> I can understand separating it from development tools, so what about
> >>>> moving
> >>>> Katello's bats to foreman-bats?
> >>>
> >>> What would then be the primary way of getting the latest bats tests? A
> >>> script to clone the foreman-bats repository?
> >>
> >> Assuming you just want to get foreman-bats to use its helpers then yes,
> >> just clone the repo and they should be usable. Freight does something
> >> similar to use another library of BATS helpers
> >> (https://github.com/freight-team/freight/blob/master/Makefile#L88).
> >>
> >> Else you could use a submodule/tree to stay with a particular version.
> >> The helpers could always be moved into their own repo if necessary.
> >
> > I don't "just" want foreman-bats helpers, that's just one reason to merge
> > the projects. I think they should be in the same repo together, wherever
> > that is, and work with Forklift's Vagrant setup.
>
> They're tests for different projects, they should be maintained with and
> by the projects they're testing, not together. Plugins and other
> projects should have autonomy to maintain their own codebases, not be
> part of Foreman's.

Forklift covers multiple projects, and does vagrant boxes for them all. Some
developers have needs to spin up both Katello and Foreman instances sometimes.
Occasionally I want to be able to spin up a debian box so I can look at something,
for example.

Besides, foreman-bats already has katello stuff in it randomly.

Forklift supports plugins, if you really want foreman-bats to be it's own
repo, it could at least use the same tooling to make it easier for everyone to
use it.

··· ----- Original Message ----- > On 26/05/16 15:58, Stephen Benjamin wrote: > > ----- Original Message ----- > >> On 25/05/16 17:25, Ewoud Kohl van Wijngaarden wrote: > >>> On Wed, May 25, 2016 at 10:38:04AM -0400, Stephen Benjamin wrote:

One of the benefits of how Forklift does things is that you can easily
vagrant up centos7-bats and run katello bats locally. Why should
foreman-bats stay in its own repo and maintain an entirely separate
and different vagrant configuration?

Extract the commonality to a separate project if that’s what you want to
fix, but don’t build one repo covering multiple projects.


Dominic Cleal
dominic@cleal.org


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.

Replying to a very old topic, but I didn’t see another relevant topic. The relevant PRs have been merged to forklift over time and we just merged the systest rewrite. That means start now we’re only using bats in the forklift subdirectory. I’ll keep an eye on it, but feel free to point me to failing jenkins jobs.

https://github.com/theforeman/foreman-infra/pull/407

Does this imply we should put a warning message on foreman-bats or even “archive” it in the Github sense? Also, very cool!

I’m leaning to archiving.

There are still some issues which slipped through:

  • SSH login to Ubuntu 16.04 doesn’t work for some reason
  • We’re not deep merging the base boxes. https://github.com/theforeman/forklift/commit/2f357cc0ee8e63d25aa61c0df3d3cac5efba28d5 reverted the deep merging because it’s incompatible with our CI which is stuck on a very old vagrant due to the rackspace provider. Ubuntu 16.04 cloud images only ships /usr/bin/python3 and not /usr/bin/python so ansible probably won’t run.
  • The Debian Stretch image has no /usr/bin/python?
  • systest_foreman_hammer_nightly was not in JJB so I missed it while updating.