Re: Facter 3.X questions

2016-06-12 Thread Kurt Jaeger
Hi!

> > Can you explain the state of factor for us ? We have 3.1.3 in
> > the ports, and upstream is @3.1.8. Have you tried to
> > provide a patch to the ports to get the port up2date ?
> 
> Not sure it would need a patch, I think just pulling down
> the latest tag from git should be enough.

So a patch that provides all changes to change the port
from 3.1.3 to 3.1.8, submitted via bugs.freebsd.org would
be helpful to get the port updated.

> > Then: What are those 'facts' ? Are they modules for facter to
> > collect specific info on a system etc ? Are they part of facter itself
> > or do you want to provide seperate ports for this ? What kind of facts are
> > generally available ?
> 
> Facter is a tool to get information from a system, such
> as amount of RAM, CPUs, mounts, size of partitions etc. Usually for
> usage with Puppet. The missing facts are part of facter itself,
> they just got missed when the upgrade happened because we dont
> have internal infra for testing Facter, it's mainly in the hands of
> FreeBSD puppet users to log issues when stuff breaks.

Ok.

> > The WWW in pkg-descr is https://puppetlabs.com/facter, which
> > no longer works -- what would be the correct link ?
> 
> Yeah, there was a site re-design recently. I guess the new link
> would probably be the main docs page: https://docs.puppet.com/facter/
> 
> Would that be something that needs a patch? I can see if I can
> figure out how to submit for that :)

Yes. The update can include all changes rolled in one set of patches,
that's preferred.

> > How/when should facter replace rubygem-facter in the ports tree ?
> > Right now puppet depends on rubygem-facter, which is only at 2.4.4 ?
> > Upstream is at 2.4.6
> 
> I guess the best time to replace would be when all the missing facts are
> restored.

Ok.

> I'm making ok progress on it right now, we have a hackathon soon so I might
> be able to get it completely across the line then.
> 
> What's the policy of when ports get removed? Some people prefer
> to use the older Facter as it's Ruby based, or they're not reading to
> make the major version jump, so it might be best to keep both?

The policy is: ports get removed if they are broken for a prolonged
amount of time (6+ month) and no PRs/fixes available.

Broken means: They do no longer build.

> > For this, we probably need more understanding of facter 8-} Any links
> > that you can share that bring us up to speed ?
> 
> Hah, it's not super clear how to get started in it. I'd recommend reading
> the Facter README to get up to speed with how to build:
> 
> https://github.com/puppetlabs/facter/blob/master/README.md

Thanks. Does facter provide some sort of inventory, like
'list all facts available' feature ?

Does facter provide some sort of testing ?

There's a

make test

target in the ports tree, so that would help to identify the missing
pieces.

> > Submit PRs requesting maintainer, and if they come with
> > patches that bring the ports up2date, you're maintainer
> > if the previous maintainer agrees.
> 
> Just to make sure, I actually work at Puppet, it's not a conflict of
> interest or anything to become a Facter maintainer right?

Working @upstream is no problem, if it helps getting the patches
coming 8-)

-- 
p...@opsec.eu+49 171 3101372 4 years to go !
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Facter 3.X questions

2016-06-12 Thread Peter M Souter
Hi Kurt,

> Can you explain the state of factor for us ? We have 3.1.3 in
the ports, and upstream is @3.1.8.  Have you tried to
provide
a patch to the ports to get the port up2date ?

Not sure it would need a patch, I think just pulling down
the latest tag from git should be enough.

> Then: What are those 'facts' ? Are they modules for facter to
collect specific info on a system etc ? Are they part of facter itself
or do you want to provide seperate ports for this ? What kind of facts are
generally available ?

Facter is a tool to get information from a system, such
as amount of RAM, CPUs, mounts, size of partitions etc. Usually for
usage with Puppet. The missing facts are part of facter itself,
they just got missed when the upgrade happened because we dont
have internal infra for testing Facter, it's mainly in the hands of
FreeBSD puppet users to log issues when stuff breaks.

> The WWW in pkg-descr is https://puppetlabs.com/facter, which
no longer works -- what would be the correct link ?

Yeah, there was a site re-design recently. I guess the new link
would probably be the main docs page: https://docs.puppet.com/facter/

Would that be something that needs a patch? I can see if I can
figure out how to submit for that :)

> How/when should facter replace rubygem-facter in the ports tree ?
Right now puppet depends on rubygem-facter, which is only at 2.4.4
? Upstream is at 2.4.6

I guess the best time to replace would be when all the missing facts are
restored.

I'm making ok progress on it right now, we have a hackathon soon so I might
be able to get it completely across the line then.

What's the policy of when ports get removed? Some people prefer
to use the older Facter as it's Ruby based, or they're not reading to
make the major version jump, so it might be best to keep both?

> For this, we probably need more understanding of facter 8-} Any links
that you can share that bring us up to speed ?

Hah, it's not super clear how to get started in it. I'd recommend reading
the Facter README to get up to speed with how to build:

https://github.com/puppetlabs/facter/blob/master/README.md

Then looking at a PR with an example of how a fact is written.
If you can get your head around the Facter internals, it's basically
just making sure each result key can match with some C/C++ code
to get the information from the system.

For example, to get processor count of the machine with a sysctl call:

// Get the logical count of processors
len = sizeof(result.logical_count);
mib[1] = HW_NCPU;

if (sysctl(mib, 2, _count, , nullptr, 0) == -1) {
LOG_DEBUG("sysctl hw.ncpu failed: %1% (%2%): logical processor
count is unavailable.", strerror(errno), errno);
}

https://github.com/puppetlabs/facter/pull/1348/files

If you're interested there's normally people in #puppet-dev on Freenode
who know way more than I do about internals that can answer questions

> Submit PRs requesting maintainer, and if they come with
patches that bring the ports up2date, you're maintainer
if the previous maintainer agrees.

Just to make sure, I actually work at Puppet, it's not a conflict of
interest
or anything to become a Facter maintainer right? if not I'll give that a
go!  :)

> PS. Sorry if this is the wrong way to do this, first time emailing to a
> port maintainer list. I asked in the FreeBSD freenode room and people said
> this was the way to do it and to CC the Ports mailing list also :)

> Both lists are fine. As this is more a general ports question,
-ports is probably fine for further discussion. There's not much
discussion on -ruby.

Great, removed ruby- from CC.

On Sat, Jun 4, 2016 at 8:36 PM, Kurt Jaeger  wrote:

> Hi!
>
> > Since Facter's move to a C/C++ codebase, a lot of facts have gone missing
> > on FreeBSD machines. As a dabbler in FreeBSD I want to help fix this! :)
>
> Very nice! I'm no puppet or facter user, but I can probably help
> with the ports part.
>
> Can you explain the state of factor for us ? We have 3.1.3 in
> the ports, and upstream is @3.1.8. Have you tried to provide
> a patch to the ports to get the port up2date ?
>
> Then: What are those 'facts' ? Are they modules for facter to
> collect specific info on a system etc ? Are they part of facter itself
> or do you want to provide seperate ports for this ?
>
> What kind of facts are generally available ?
>
> The WWW in pkg-descr is https://puppetlabs.com/facter, which
> no longer works -- what would be the correct link ?
>
> How/when should facter replace rubygem-facter in the ports tree ?
> Right now puppet depends on rubygem-facter, which is only at 2.4.4 ?
> Upstream is at 2.4.6.
>
> > more difficult missing areas such as determining swap space, networks and
> > such, that would be greatly appreciated. Getting kenv and sysctl settings
> > has been fairly simple, these ones have been a little bit more complex...
>
> For this, we probably need more understanding of facter 8-}
> Any 

Re: Facter 3.X questions

2016-06-04 Thread Kurt Jaeger
Hi!

> Since Facter's move to a C/C++ codebase, a lot of facts have gone missing
> on FreeBSD machines. As a dabbler in FreeBSD I want to help fix this! :)

Very nice! I'm no puppet or facter user, but I can probably help
with the ports part.

Can you explain the state of factor for us ? We have 3.1.3 in
the ports, and upstream is @3.1.8. Have you tried to provide
a patch to the ports to get the port up2date ?

Then: What are those 'facts' ? Are they modules for facter to
collect specific info on a system etc ? Are they part of facter itself
or do you want to provide seperate ports for this ?

What kind of facts are generally available ?

The WWW in pkg-descr is https://puppetlabs.com/facter, which
no longer works -- what would be the correct link ?

How/when should facter replace rubygem-facter in the ports tree ?
Right now puppet depends on rubygem-facter, which is only at 2.4.4 ?
Upstream is at 2.4.6.

> more difficult missing areas such as determining swap space, networks and
> such, that would be greatly appreciated. Getting kenv and sysctl settings
> has been fairly simple, these ones have been a little bit more complex...

For this, we probably need more understanding of facter 8-}
Any links that you can share that bring us up to speed ?

> 3) How difficult is it to become a maintainer?

Submit PRs for sysutils/facter and sysutils/rubygem-facter.
robak@ is the maintainer for rubygem-facter, so maybe he's willing
to step down ?

> I notice that facter is
> currently under the ruby maintainer email namespace, but right now it's not
> released to Rubygems since 2.4 and the code is 85% C++ now. I wouldn't mind
> throwing my hat in and becoming a maintainer if that would help? :)

Submit PRs requesting maintainer, and if they come with
patches that bring the ports up2date, you're maintainer
if the previous maintainer agrees.

> PS. Sorry if this is the wrong way to do this, first time emailing to a
> port maintainer list. I asked in the FreeBSD freenode room and people said
> this was the way to do it and to CC the Ports mailing list also :)

Both lists are fine. As this is more a general ports question,
-ports is probably fine for further discussion. There's not much
discussion on -ruby.

-- 
p...@opsec.eu+49 171 3101372 4 years to go !
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Facter 3.X questions

2016-06-04 Thread Peter M Souter
Hello Facter FreeBSD maintainers!

Since Facter's move to a C/C++ codebase, a lot of facts have gone missing
on FreeBSD machines. As a dabbler in FreeBSD I want to help fix this! :)

I've opened a ticket to track it here (
https://tickets.puppetlabs.com/browse/FACT-1428) and I've been working on
getting those missing facts back. So far I've managed to get the DMI (bios
and manufacturer facts) and processor info working.

I have a few questions:

1) Are there any FreeBSD Puppet users out there on Puppet 4 with Facter 3,
who could give some feedback, see if there's anything else I've missed
from Facter 3 that they've noticed?

2) If anyone has some C knowledge and wants to help hack on some of the
more difficult missing areas such as determining swap space, networks and
such, that would be greatly appreciated. Getting kenv and sysctl settings
has been fairly simple, these ones have been a little bit more complex...

3) How difficult is it to become a maintainer? I notice that facter is
currently under the ruby maintainer email namespace, but right now it's not
released to Rubygems since 2.4 and the code is 85% C++ now. I wouldn't mind
throwing my hat in and becoming a maintainer if that would help? :)

Thanks!

Regards

Peter Souter

PS. Sorry if this is the wrong way to do this, first time emailing to a
port maintainer list. I asked in the FreeBSD freenode room and people said
this was the way to do it and to CC the Ports mailing list also :)
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"