Jira (PUP-10013) Update minitar version and call new fsync=false option

29 views
Skip to first unread message

Jorie Tappa (JIRA)

unread,
Sep 6, 2019, 12:49:03 PM9/6/19
to puppe...@googlegroups.com
Jorie Tappa created an issue
 
Puppet / Task PUP-10013
Update minitar version and call new fsync=false option
Issue Type: Task Task
Assignee: Unassigned
Created: 2019/09/06 9:48 AM
Priority: Normal Normal
Reporter: Jorie Tappa

Update the version in all the places, and make sure you add the option fsync=false so that we're improving performance

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Jorie Tappa (JIRA)

unread,
Sep 10, 2019, 12:53:04 PM9/10/19
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Sep 11, 2019, 12:16:03 AM9/11/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: PUP 6.4.z

Josh Cooper (JIRA)

unread,
Sep 13, 2019, 11:43:03 AM9/13/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: PUP 5.5.z

Josh Cooper (JIRA)

unread,
Sep 13, 2019, 11:44:02 AM9/13/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Sprint: Coremunity Grooming Platform Core KANBAN

Josh Cooper (JIRA)

unread,
Sep 30, 2019, 4:07:03 PM9/30/19
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Oct 2, 2019, 2:47:04 PM10/2/19
to puppe...@googlegroups.com
Josh Cooper commented on Task PUP-10013

minitar is a soft dependency (controlled through puppet's feature system, eg Puppet.features.minitar?). As a result, there's no guarantee that minitar is installed or which version is installed. We only package minitar in puppet-agent on systems without a sane tar command, like windows, etc. But if you're on redhat for example, and you install the older minitar version, then puppet will try to use it. For example if you install pe-r10k:

# rpm -qlp packages/el-6-x86_64/pe-r10k-2.6.6.0.4.g7094eb2-1.el6.x86_64.rpm | grep -e 'minitar.*gem'
/opt/puppetlabs/puppet/lib/ruby/gems/2.4.0/cache/minitar-0.6.1.gem
/opt/puppetlabs/puppet/lib/ruby/gems/2.4.0/specifications/minitar-0.6.1.gemspec

So puppet needs to be more defensive about only using minitar if it's at least 0.9, or detect when it's using an older version and omitting the fsync => false option. The former is possible using Gem::Specification.find_by_name('minitar').version >= Gem::Version.new("0.9"). The latter could be done by checking the arity of the unpack method.

Josh Cooper (JIRA)

unread,
Oct 2, 2019, 6:04:03 PM10/2/19
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Oct 2, 2019, 8:01:03 PM10/2/19
to puppe...@googlegroups.com

George Mrejea (JIRA)

unread,
Oct 3, 2019, 6:45:03 AM10/3/19
to puppe...@googlegroups.com
George Mrejea updated an issue
 
Change By: George Mrejea
Fix Version/s: PUP 5.5.z
Fix Version/s: PUP 5.5.17

George Mrejea (JIRA)

unread,
Oct 3, 2019, 6:45:04 AM10/3/19
to puppe...@googlegroups.com
George Mrejea updated an issue
Change By: George Mrejea
Fix Version/s: PUP 6.4.z
Fix Version/s: PUP 6.4.4

Jorie Tappa (JIRA)

unread,
Oct 3, 2019, 12:59:04 PM10/3/19
to puppe...@googlegroups.com
Jorie Tappa updated an issue
Change By: Jorie Tappa
Release Notes Summary: On platforms that use minitar, extraction when installing modules would take a long time due to minitar's fsync'ing every directory and file. The way Puppet extracts and copies modules during install makes this task unnecessary. As of minitar 0.9, there's an option to turn this off. Puppet now uses minitar 0.9, improving install time on larger modules.
Release Notes: Enhancement

Josh Cooper (JIRA)

unread,
Oct 4, 2019, 6:56:02 PM10/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Fix Version/s: PUP 6.10.1

Josh Cooper (JIRA)

unread,
Oct 4, 2019, 7:00:09 PM10/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Release Notes Summary: On platforms that use have the minitar gem installed , extraction when installing modules would take a long time due to minitar's fsync'ing every directory and file. The way Puppet extracts and copies modules during install makes this task unnecessary. As of minitar 0.9, there's an option to turn this off. Puppet now uses minitar 0.9, improving install time on larger modules.

Jean Bond (JIRA)

unread,
Oct 9, 2019, 6:56:03 PM10/9/19
to puppe...@googlegroups.com
Jean Bond updated an issue
Change By: Jean Bond
Labels: resolved-issue-added
Reply all
Reply to author
Forward
0 new messages